From 0bb71151afdaf179dd983c2598fa6ae7bbf23b27 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Wed, 6 Oct 2010 14:07:10 -0400 Subject: Add traits class. --- src/Makefile.am | 1 + src/vZ.hpp | 1 + src/vZ/traits.hpp | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 src/vZ/traits.hpp diff --git a/src/Makefile.am b/src/Makefile.am index 25f6803..ea17bb6 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -19,4 +19,5 @@ nobase_include_HEADERS = vZ.hpp \ vZ/integrator.hpp \ + vZ/traits.hpp \ vZ/simple.hpp diff --git a/src/vZ.hpp b/src/vZ.hpp index 1d7327b..8035159 100644 --- a/src/vZ.hpp +++ b/src/vZ.hpp @@ -23,6 +23,7 @@ #ifndef VZ_HPP #define VZ_HPP +#include #include #include diff --git a/src/vZ/traits.hpp b/src/vZ/traits.hpp new file mode 100644 index 0000000..baac9ed --- /dev/null +++ b/src/vZ/traits.hpp @@ -0,0 +1,38 @@ +/************************************************************************* + * Copyright (C) 2009-2010 Tavian Barnes * + * * + * This file is part of The vZ Library. * + * * + * The vZ Library is free software; you can redistribute it and/or * + * modify it under the terms of the GNU Lesser General Public License as * + * published by the Free Software Foundation; either version 3 of the * + * License, or (at your option) any later version. * + * * + * The vZ Library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this program. If not, see * + * . * + *************************************************************************/ + +#ifndef VZ_TRAITS_HPP +#define VZ_TRAITS_HPP + +namespace vZ +{ + // Traits class + // + // Specialize this class for non-scalar types which are used as template + // arguments to the Generic* classes + template + class Traits + { + public: + typedef T Scalar; + }; +} + +#endif // VZ_TRAITS_HPP -- cgit v1.2.3