Namespace ae108::assembly::utilities
Namespace List > ae108 > assembly > utilities
Classes
| Type | Name |
|---|---|
| struct | DeriveUniquely <Args> Derives each of its template arguments once. |
| struct | DeriveUniquely< Arg, Args... > <class Arg, Args> |
| struct | DeriveUniquely<> <> |
| struct | HasUniqueTypeTrait <TypeTrait, Assemblers> This type trait compares "TypeTrait<Assembler>::type" for all types "Assembler" in Assemblers. If they are all the same, then HasUniqueTypeTrait contains a typedef "type" equal to "TypeTrait<Assembler>::type" and inherits from std::true_type. If this is not the case, thenHasUniqueTypeTrait does not contain such a typedef and inherits from std::false_type. |
| struct | IsSingleUniqueType <Args> Inherits std::true_type if Args contains exactly one type, disregarding duplicates. |
| struct | IsSingleUniqueType< A > <class A> |
| struct | IsSingleUniqueType< A, B, Args... > <class A, class B, Args> |
| struct | IsSingleUniqueType<> <> |
Public Functions
| Type | Name |
|---|---|
| InputIterator | deserialize (InputIterator bufferBegin, std::array< ValueType, ArraySize > *const array) Deserialize a buffer to an array by copying the buffer to the array. |
| InputIterator | deserialize (InputIterator bufferBegin, std::vector< ValueType > *const vector) Deserialize a buffer to a vector by copying the buffer to the vector. |
| InputIterator | deserialize (InputIterator bufferBegin, Eigen::Matrix< ValueType, Rows, Cols > * vector) Deserialize a buffer to an Eigen::Matrix by copying the buffer to the matrix (row major format). |
| InputIterator | deserializeRange (InputIterator bufferBegin, InputIterator bufferEnd, OutputIterator outputBegin) Iterates through the input range and deserializes chunks of buffer. |
| void | groupElementDataPerVertex (const MeshView & meshView, const cpppetsc::local< VectorType > & from, PerVertexData *const to) Copies the data from the input vector to the output, grouped by vertex. |
| void | resizeIfPossible (std::vector< T > *const container, const typename std::vector< T >::size_type size) Resizes the vector to size. |
| void | resizeIfPossible (std::array< T, Size > *const container, const typename std::array< T, Size >::size_type size) Asserts that the array has the correct size. |
| OutputIterator | serialize (const std::array< ValueType, ArraySize > & array, OutputIterator bufferBegin) Serializes an array to a buffer by copying the array to the buffer. |
| OutputIterator | serialize (const std::vector< ValueType > & vector, OutputIterator bufferBegin) Serializes a vector to a buffer by copying the vector to the buffer. |
| OutputIterator | serialize (const Eigen::Matrix< ValueType, Rows, Cols, Options > & vector, OutputIterator bufferBegin) Serializes an Eigen::Matrix to a buffer by copying the vector to the buffer (row major format). |
| OutputIterator | serializeRange (InputIterator vectorsBegin, InputIterator vectorsEnd, OutputIterator bufferBegin) Iterates through the input range serializing every vector to the output buffer. |
| void | ungroupElementDataPerVertex (const MeshView & meshView, const PerVertexData & from, cpppetsc::local< VectorType > *const to) Copies the data from the input vector to the output, ungrouped by vertex. |
Public Functions Documentation
function deserialize
Deserialize a buffer to an array by copying the buffer to the array.
template<class InputIterator, class ValueType, std::size_t ArraySize>
InputIterator ae108::assembly::utilities::deserialize (
InputIterator bufferBegin,
std::array< ValueType, ArraySize > *const array
)
Template parameters:
InputIteratorForward iterator.
Parameters:
bufferBeginData source iterator.arrayData target.
Returns:
The end of the used input buffer.
function deserialize
Deserialize a buffer to a vector by copying the buffer to the vector.
template<class InputIterator, class ValueType>
InputIterator ae108::assembly::utilities::deserialize (
InputIterator bufferBegin,
std::vector< ValueType > *const vector
)
Template parameters:
InputIteratorForward iterator.
Parameters:
bufferBeginData source iterator.vectorData target.
Returns:
The end of the used input buffer.
function deserialize
Deserialize a buffer to an Eigen::Matrix by copying the buffer to the matrix (row major format).
template<class InputIterator, class ValueType, int Rows, int Cols>
InputIterator ae108::assembly::utilities::deserialize (
InputIterator bufferBegin,
Eigen::Matrix< ValueType, Rows, Cols > * vector
)
Template parameters:
InputIteratorForward iterator.
Parameters:
bufferBeginData source iterator.vectorData target.
Returns:
The end of the used input buffer.
function deserializeRange
Iterates through the input range and deserializes chunks of buffer.
template<class InputIterator, class OutputIterator>
InputIterator ae108::assembly::utilities::deserializeRange (
InputIterator bufferBegin,
InputIterator bufferEnd,
OutputIterator outputBegin
)
Template parameters:
InputIteratorForward iterator.OutputIteratorOutput iterator.
Parameters:
bufferBeginData source begin iterator.bufferEndData source end iterator.outputBeginData target begin iterator.
Returns:
The end of the used input buffer.
function groupElementDataPerVertex
Copies the data from the input vector to the output, grouped by vertex.
template<class PerVertexData, class MeshView, class VectorType>
void ae108::assembly::utilities::groupElementDataPerVertex (
const MeshView & meshView,
const cpppetsc::local < VectorType > & from,
PerVertexData *const to
)
Parameters:
toValid nonzero pointer.
function resizeIfPossible
Resizes the vector to size.
template<class T>
void ae108::assembly::utilities::resizeIfPossible (
std::vector< T > *const container,
const typename std::vector< T >::size_type size
)
Parameters:
containerValid nonzero pointer.
function resizeIfPossible
Asserts that the array has the correct size.
template<class T, std::size_t Size>
void ae108::assembly::utilities::resizeIfPossible (
std::array< T, Size > *const container,
const typename std::array< T, Size >::size_type size
)
Parameters:
containerValid nonzero pointer.
function serialize
Serializes an array to a buffer by copying the array to the buffer.
template<class OutputIterator, class ValueType, std::size_t ArraySize>
OutputIterator ae108::assembly::utilities::serialize (
const std::array< ValueType, ArraySize > & array,
OutputIterator bufferBegin
)
Template parameters:
OutputIteratorForward iterator.
Parameters:
arrayData source.bufferBeginData target begin iterator.
Returns:
The end of the output buffer.
function serialize
Serializes a vector to a buffer by copying the vector to the buffer.
template<class OutputIterator, class ValueType>
OutputIterator ae108::assembly::utilities::serialize (
const std::vector< ValueType > & vector,
OutputIterator bufferBegin
)
Template parameters:
OutputIteratorForward iterator.
Parameters:
vectorData source.bufferBeginData target begin iterator.
Returns:
The end of the output buffer.
function serialize
Serializes an Eigen::Matrix to a buffer by copying the vector to the buffer (row major format).
template<class OutputIterator, class ValueType, int Rows, int Cols, int Options>
OutputIterator ae108::assembly::utilities::serialize (
const Eigen::Matrix< ValueType, Rows, Cols, Options > & vector,
OutputIterator bufferBegin
)
Template parameters:
OutputIteratorForward iterator.
Parameters:
vectorData source.bufferBeginData target begin iterator.
Returns:
The end of the output buffer.
function serializeRange
Iterates through the input range serializing every vector to the output buffer.
template<class InputIterator, class OutputIterator>
OutputIterator ae108::assembly::utilities::serializeRange (
InputIterator vectorsBegin,
InputIterator vectorsEnd,
OutputIterator bufferBegin
)
Template parameters:
InputIteratorForward iterator.OutputIteratorRandom access iterator.
Parameters:
vectorsBeginData source begin iterator.vectorsEndData source end iterator.bufferBeginData target begin iterator.
Returns:
The end of the used output buffer.
function ungroupElementDataPerVertex
Copies the data from the input vector to the output, ungrouped by vertex.
template<class PerVertexData, class MeshView, class VectorType>
void ae108::assembly::utilities::ungroupElementDataPerVertex (
const MeshView & meshView,
const PerVertexData & from,
cpppetsc::local < VectorType > *const to
)
Parameters:
toValid nonzero pointer.
The documentation for this class was generated from the following file assembly/src/include/ae108/assembly/utilities/DeriveUniquely.h