1 // --------------------------------------------------------------------- 2 // 3 // Copyright (C) 2017 - 2018 by the deal.II authors 4 // 5 // This file is part of the deal.II library. 6 // 7 // The deal.II library is free software; you can use it, redistribute 8 // it, and/or modify it under the terms of the GNU Lesser General 9 // Public License as published by the Free Software Foundation; either 10 // version 2.1 of the License, or (at your option) any later version. 11 // The full text of the license can be found in the file LICENSE.md at 12 // the top level directory of deal.II. 13 // 14 // --------------------------------------------------------------------- 15 16 #ifndef dealii_vector_type_traits_h 17 #define dealii_vector_type_traits_h 18 19 #include <deal.II/base/config.h> 20 21 #include <type_traits> 22 23 24 DEAL_II_NAMESPACE_OPEN 25 26 27 /** 28 * Type trait for a serial vector, i.e. a vector class for which storage is not 29 * supported to be distributed over processes. 30 * 31 * The specialization 32 * @code 33 * template <> 34 * struct is_serial_vector<VectorType> : std::true_type 35 * {}; 36 * @endcode 37 * for a serial vector type, respectively, 38 * @code 39 * template <> 40 * struct is_serial_vector<VectorType> : std::false_type 41 * {}; 42 * @endcode 43 * for a vector type with support of distributed storage, 44 * must be done in a header file of a vector declaration. 45 */ 46 template <typename T> 47 struct is_serial_vector; 48 49 50 DEAL_II_NAMESPACE_CLOSE 51 52 #endif 53