locator_real.h

Back to Orphans

pastel/sys/locator/

// Description: Locator coordinate-type

#ifndef PASTELSYS_LOCATOR_REAL_H
#define PASTELSYS_LOCATOR_REAL_H

#include "pastel/sys/locator/locator_concept.h"
#include "pastel/sys/function/identity_function.h"
#include "pastel/sys/type_traits/remove_cvref.h"
#include "pastel/sys/locator/locator_point.h"

namespace Pastel
{

    template <typename Locator>
    using Locator_Real_ = typename Locator::Real;
        //decltype(
        // std::declval<Locator>()(
        //     std::declval<Locator_Point<Locator>>(), 0)
        //);

    template <typename... LocatorSet>
    using Locator_Real_F =
        std::common_type<
            Locator_Real_<LocatorSet>...
        >;

    template <typename... LocatorSet>
    using Locator_Real = 
        typename Locator_Real_F<LocatorSet...>::type;

}

#endif