#pragma once namespace mars { template struct andb {}; template <> struct andb { static const bool value = true; }; /* FIXME: Couldn't ever get this to work right template struct and : public andb {}; */ template struct enable_ifb { typedef E Type; }; template struct enable_ifb {}; /* FIXME: Couldn't ever get this to work right template struct enable_if : public enable_ifb {}; */ template struct has_def { static const bool value = sizeof(E *) > 0; }; template struct identity { typedef T type; }; template struct quantity { unsigned value = N; }; }