Rodin namespace

The Rodin library for Shape and Topology Optimization.

Namespaces

namespace Assembly
Module for performing the assembly of linear algebra objects from variational expressions.
namespace Context
Module for serial, multi-threaded, distributed, and/or parallel computation.
namespace External
Third-party library integrations with Rodin.
namespace FormLanguage
Module for writing high level abstract expressions.
namespace Geometry
Module for dealing with geometries.
namespace IO
Module for dealing with I/O functionality.
namespace Math
Module for general mathematical operations.
namespace Models
Module which provides implementation of various variational models.
namespace Plot
Module for visualization tools.
namespace QF
Module for defining quadrature formulae.
namespace Solver
Module for linear algebra systems.
namespace Test
Module containing various utilities and classes for writing tests.
namespace Tests
Tests of the Rodin library
namespace Threads
Module containing various tools for working with threads.
namespace Traits
Module containing metaprogramming facilities.
namespace Utility
Module containing general purpose and language support utility classes.
namespace Variational
Module which provides the necessary tools for constructing variational problems.

Classes

template<class From, class To>
class Cast
Template class for type casting operations.
class Copyable
Abstract base class for objects that can be copied.
struct IndexArrayEquality
Functor for comparing two index arrays for equality.
struct IndexArrayHash
Functor for computing a hash value for an index array.
struct IndexArraySymmetricEquality
Functor for comparing two index arrays for symmetric equality.
struct IndexArraySymmetricHash
Functor for computing a symmetric hash value for an index array.
struct IndexSetEquality
Functor for comparing two IndexSet objects for equality.
struct IndexSetHash
Functor for computing a hash value for an IndexSet.
class Moveable
Abstract base class for objects that can be moved.
template<class L, class R>
class Pair
A Pair class representing a tuple with two elements.
template<class T, class ... Ts>
class Tuple<T, Ts...>
A tuple class that extends std::tuple with additional functionality.
template<>
class Tuple<>
Specialization of Tuple for an empty parameter pack.

Functions

template<class L, class R>
Pair(L, R) -> Pair< L, R >
Deduction guide for the Pair class.
template<Index First, Index Last>
static auto IndexTuple() -> auto constexpr
Generates a tuple of indices.
auto operator""_UZ(unsigned long long x) -> std::size_t constexpr
User-defined literal for size_t values.

Function documentation

template<class L, class R>
Rodin::Pair(L, R) -> Pair< L, R >

Deduction guide for the Pair class.

Template parameters
L Type of the first element.
R Type of the second element.

This guide allows the compiler to deduce the template arguments for L and R when constructing a Pair object.

template<Index First, Index Last>
static auto Rodin::IndexTuple() constexpr

Generates a tuple of indices.

Template parameters
First The starting index.
Last One past the last index.
Returns A tuple containing indices from First to Last-1.

std::size_t Rodin::operator""_UZ(unsigned long long x) constexpr

User-defined literal for size_t values.

Parameters
x Unsigned long long value to convert
Returns size_t value