Non-domain-specific infrastructure. More...
Topics | |
| Profiling | |
| Markers for categorizing performance measurements.  | |
| Filling Curves | |
| Space-filling curve, key generators  | |
| KDTree | |
| KDTree based search utilities.  | |
| Point | |
| Spatial representation of a point based on dimensioned_array  | |
| Graphviz Support | |
Wrapper for libcgraph.  | |
| MPI | |
| These require MPI tasks, not the MPI backend.  | |
| Serialization | |
| Serialization without default constructibility.  | |
| Unit Testing | |
| Unit test framework much like Google Test but with task support.  | |
| Ranges | |
| Range and iterator tools, mostly backported from the standard library.  | |
Classes | |
| struct | counter< M > | 
| A counter with a maximum.  More... | |
| struct | crs | 
| Efficient (compressed-row) storage for a sequence of sequences of integers.  More... | |
| struct | dag< NodePolicy > | 
| Basic DAG type.  More... | |
| class | dimensioned_array< TYPE, DIMENSION, NAMESPACE > | 
| The dimensioned_array type provides a general base for defining contiguous array types that have a specific dimension.  More... | |
| struct | equal_map | 
| A partition with substrings of equal size.  More... | |
| struct | identity | 
| Interpret a type as itself in functional contexts.  More... | |
| struct | key_tuple< VT > | 
| A std::tuple containing the given types and indexed by the given keys.  More... | |
| struct | map_base< D > | 
| A partition of some prefix of the whole numbers into substrings.  More... | |
| struct | offsets | 
| A partition with substrings of arbitrary size.  More... | |
| struct | sort< FieldRef > | 
| Sort object implementing a distributed sort and load balancing.  More... | |
| struct | Symbol< S > | 
| Dummy class template.  More... | |
Macros | |
| #define | FLECSI_DEVICE_CODE | 
| Specify if the code is being built on GPU.   | |
| #define | FLECSI_INLINE_TARGET | 
| Make a function inline and available on a GPU.   | |
| #define | FLECSI_TARGET | 
| Make a function available on a GPU.   | |
Typedefs | |
| using | Dimension | 
| Type for spatial dimensions and counts thereof.   | |
| using | gid | 
| Global topology entity ID type.   | |
| using | id | 
| Local (color-specific) topology entity ID type.   | |
Functions | |
| template<class T > | |
| constexpr T | bit_width (T x) noexcept | 
| Simple emulation of std::bit_width from C++20.   | |
| std::string | demangle (const char *const name) | 
| Return the demangled name.   | |
| template<typename T > | |
| void | force_unique (std::vector< T > &v) | 
| Sort a std::vector and remove duplicates.   | |
| template<class InputIt1 , class InputIt2 > | |
| bool | intersects (InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2) | 
| Detect intersections of sorted lists.   | |
| template<typename order_iterator , typename value_iterator > | |
| void | reorder (const order_iterator order_begin, const order_iterator order_end, const value_iterator v) | 
| Reorders an array in place.   | |
| template<typename order_iterator , typename value_iterator > | |
| void | reorder_destructive (const order_iterator order_begin, const order_iterator order_end, const value_iterator v) | 
| Reorders an array in place.   | |
| template<class T > | |
| std::set< T > | set_difference (const std::set< T > &s1, const std::set< T > &s2) | 
| Convenience function wrapper around std::set_difference function.   | |
| template<class T > | |
| std::set< T > | set_intersection (const std::set< T > &s1, const std::set< T > &s2) | 
| Convenience function wrapper around std::set_intersection function.   | |
| template<class T > | |
| std::set< T > | set_union (const std::set< T > &s1, const std::set< T > &s2) | 
| Convenience function wrapper around std::set_union function.   | |
| template<typename T > | |
| constexpr T | square (const T &a) | 
| P.O.D.   | |
| std::string | strip_parameter_list (const std::string &sig) | 
| Return signature without parameter list.   | |
| std::string | strip_return_type (const std::string &sig) | 
| Return signature without return type.   | |
| template<auto & S> | |
| std::string | symbol () | 
| Return the name of the template argument.   | |
| template<class T > | |
| std::string | type () | 
| Return the demangled name of the type T.   | |
| std::string | type (const std::type_info &type_info) | 
| Return the demangled name of the type identified by type_info.   | |
| template<typename K , typename T > | |
| void | unique_each (std::map< K, T > &m) | 
| Apply force_unique to each element of a std::map.   | |
| template<typename T > | |
| void | unique_each (std::vector< T > &vv) | 
| Apply force_unique to each element of a std::vector.   | |
Non-domain-specific infrastructure.
Contents are in flecsi::util unless otherwise specified. 
This header provides the features in the following additional deprecated headers:
| #define FLECSI_TARGET | 
Make a function available on a GPU.
Use before a return type or a lambda's parameter list.
| #define FLECSI_INLINE_TARGET | 
Make a function inline and available on a GPU.
| #define FLECSI_DEVICE_CODE | 
Specify if the code is being built on GPU.
| using Dimension | 
Type for spatial dimensions and counts thereof.
Appears directly in flecsi. 
| using id | 
Local (color-specific) topology entity ID type.
Often provided in a index-space-specific convertible wrapper.
| using gid | 
Global topology entity ID type.
      
  | 
  constexprnoexcept | 
Simple emulation of std::bit_width from C++20.
      
  | 
  constexpr | 
P.O.D.
| void force_unique | ( | std::vector< T > & | v | ) | 
Sort a std::vector and remove duplicates.
| void unique_each | ( | std::map< K, T > & | m | ) | 
Apply force_unique to each element of a std::map.
Note that force_unique is currently only implemented for std::vector.
| void unique_each | ( | std::vector< T > & | vv | ) | 
Apply force_unique to each element of a std::vector.
Note that force_unique is currently only implemented for std::vector.
| std::string demangle | ( | const char *const | name | ) | 
Return the demangled name.
| name | The string to demangle. | 
| std::string strip_parameter_list | ( | const std::string & | sig | ) | 
Return signature without parameter list.
| sig | The function signature | 
| std::string strip_return_type | ( | const std::string & | sig | ) | 
Return signature without return type.
While this works for many cases, if the heuristic fails to detect the return type, it will return the full signature.
Example of a not supported signature:
| sig | The function signature | 
| std::string type | ( | ) | 
Return the demangled name of the type T.
| T | the type (references and cv-qualification ignored) | 
| std::string type | ( | const std::type_info & | type_info | ) | 
Return the demangled name of the type identified by type_info.
| std::string symbol | ( | ) | 
Return the name of the template argument.
| a | reference to a function or variable | 
| void reorder | ( | const order_iterator | order_begin, | 
| const order_iterator | order_end, | ||
| const value_iterator | v ) | 
Reorders an array in place.
| [in] | order_begin | The begin iterator for the order array | 
| [in] | order_end | The end iterator for the order array | 
| [in,out] | v | The begin iterator for the value array | 
| void reorder_destructive | ( | const order_iterator | order_begin, | 
| const order_iterator | order_end, | ||
| const value_iterator | v ) | 
Reorders an array in place.
| [in,out] | order_begin | The begin iterator for the order array | 
| [in,out] | order_end | The end iterator for the order array | 
| [in,out] | v | The begin iterator for the value array | 
| bool intersects | ( | InputIt1 | first1, | 
| InputIt1 | last1, | ||
| InputIt2 | first2, | ||
| InputIt2 | last2 ) | 
Detect intersections of sorted lists.
| std::set< T > set_intersection | ( | const std::set< T > & | s1, | 
| const std::set< T > & | s2 ) | 
Convenience function wrapper around std::set_intersection function.
This version computes the intersection of two sets and returns the result as a set.
| s1 | The first set of the intersection. | 
| s2 | The second set of the intersection. | 
| std::set< T > set_union | ( | const std::set< T > & | s1, | 
| const std::set< T > & | s2 ) | 
Convenience function wrapper around std::set_union function.
This version computes the union of two sets and returns the result as a set.
| s1 | The first set of the union. | 
| s2 | The second set of the union. | 
| std::set< T > set_difference | ( | const std::set< T > & | s1, | 
| const std::set< T > & | s2 ) | 
Convenience function wrapper around std::set_difference function.
This version computes the difference of two sets and returns the result as a set.
| s1 | The first set of the difference. | 
| s2 | The second set of the difference. |