
Michael Fawcett wrote:
I agree, what do you think of this extremely simple starting point? The names definitely need work.
template <typename T> struct CompileTimePointConcept { }; template <typename T, int N> struct CompileTimePointConcept<T[N]> { };
template <typename T> struct RuntimeIndexablePointConcept { }; template <typename T, int N> struct RuntimeIndexablePointConcept<T[N]> { };
Will there be operators for these types? or will they be externally defined? That CompileTimePointConcept<T[N]> seems quite interesting but how much use can it really be?
What else would a PointConcept need? "Point" almost feels like a misnomer since it implies much more than most algorithms require...
The problem is every algorithm has its own set of requirements for what a point must be able to do/provide. Taking the approach mentioned in the DG video from a previous thread (continually simplfying templated inputs into routines) leads me to believe the most general point concept would be any empty class. Arash Partow __________________________________________________ Be one who knows what they don't know, Instead of being one who knows not what they don't know, Thinking they know everything about all things. http://www.partow.net