|
template<typename T , typename std::enable_if< wrapper::is_custom_array< typename std::remove_reference< T >::type >::value, int >::type = 0> |
wrapper::is_custom_array< T >::value_type * | custom_array_cast (T *val) |
| Cast a pointer to a custom_array to a pointer of its value_type. More...
|
|
template<typename T , typename std::enable_if< wrapper::is_custom_array< typename std::remove_reference< T >::type >::value, int >::type = 0> |
std::size_t | custom_array_size () |
| Report the size of a custom_array. More...
|
|
template<> |
std::size_t | size (const std::string &obj) |
| Specialization for std::string, which returns size()+1, which includes the terminating null character. More...
|
|
template<typename T > |
std::size_t | size (const T &obj) |
| Generic utility to retrieve the size of a container. More...
|
|
We use a separate namespace here instead of hiding these classes in the Plumed class, because some of these structs might be specialized by the user.
template<typename T , typename std::enable_if< wrapper::is_custom_array< typename std::remove_reference< T >::type >::value, int >::type = 0>
std::size_t PLMD::wrapper::custom_array_size |
( |
| ) |
|
|
inline |
Report the size of a custom_array.
typename std::remove_reference<T>::type is needed because C arrays are passed by reference