MoReFEM
|
Module to encompass handly side functionalities (printing content of a STL container, creating a file in filesystem, and so forth...) More...
Namespaces | |
namespace | MoReFEM |
Main MoReFEM namespace. | |
namespace | MoReFEM::Advanced |
Namespace with content that should be of use only for advanced users of the library. | |
namespace | MoReFEM::Advanced::AsciiOrBinaryNS |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::Advanced::InputDataNS |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::Advanced::InputDataNS::Crtp |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::Advanced::Concept |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::Advanced::Concept::InputDataNS |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::UniqueIdNS |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::Utilities |
Namespace that enclose most of the Utilities (some aren't for conveniency, such as NumericNS or FilesystemNS). | |
namespace | MoReFEM::Utilities::PrintPolicyNS |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::Utilities::String |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::Utilities::ExceptionNS |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::Utilities::ExceptionNS::Singleton |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::Utilities::Tuple |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::Utilities::PointerComparison |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::NumericNS |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::Concept |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::LinearAlgebraNS |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::ExceptionNS |
Namespace for MoReFEM exceptions. | |
namespace | MoReFEM::ExceptionNS::Factory |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::ExceptionNS::NumericNS |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::ExceptionNS::BinaryNS |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::GlobalLinearAlgebraNS |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::PrintNS::Delimiter |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::FilesystemNS |
Namespace that enclose filesystem utilities (check a folder do exist, remove a file, and so forth...) | |
namespace | MoReFEM::FilesystemNS::File |
Subnamespace to deal with files. | |
namespace | MoReFEM::FilesystemNS::Folder |
Subnamespace to deal with folders. | |
namespace | MoReFEM::FilesystemNS::DirectoryNS |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::FilesystemNS::DirectoryNS::ExceptionNS |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::Internal |
Namespace with content that should be of use only for developers of the library. | |
namespace | MoReFEM::Internal::Tuple |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::Internal::Tuple::Impl |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::Internal::GlobalLinearAlgebraNS |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::Internal::ExceptionsNS |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::Internal::ExceptionsNS::UniqueId |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::Internal::StrongTypeNS |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::Internal::PrintPolicyNS |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::Internal::PrintNS |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::Internal::SortNS |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::Internal::Impl |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::Internal::FilesystemNS |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::Internal::InputDataNS |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::Internal::InputDataNS::Traits |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::Internal::EnumClassNS |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::Crtp |
Namespace that enclose some generic CRTP ("Curiously recurrent template pattern"). | |
namespace | MoReFEM::InputDataNS |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::InputDataNS::ExceptionNS |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
namespace | MoReFEM::StrongTypeNS |
Placeholder namespace description needed for it to appear in Doxygen namespace list. | |
Data Structures | |
class | MoReFEM::Utilities::AsciiOrBinary |
Provides a way to specify the output format of the solution vectors corresponding to each unknown. More... | |
class | MoReFEM::ExceptionNS::BinaryNS::LoadBinaryFileException |
Generic exception when a problem occurred while loading a binary vector with UnserializeVectorFromBinaryFile(). More... | |
class | MoReFEM::ExceptionNS::BinaryNS::NotExistingFile |
When indicated file was not found. More... | |
class | MoReFEM::ExceptionNS::BinaryNS::InconsistentFileSize |
When the file doesn't include the expected number of values (when the latter is available) More... | |
class | MoReFEM::ExceptionNS::BinaryNS::NotMatchingSize |
When the file doesn't include the expected number of values (when the latter is available) More... | |
class | MoReFEM::Utilities::BoolArray |
A class to handle a dynamic array of bool with some safety. More... | |
struct | MoReFEM::Internal::EnumClassNS::Iterator< EnumT, CurrentValueT > |
Helper class to be able to use enum class in metaprogramming. More... | |
struct | MoReFEM::Internal::Tuple::Impl::CompareRemainingToI< TupleT, I, J, TupleSizeT > |
Check that elements at I -th and J -th position in TupleT don't share the same type. More... | |
class | MoReFEM::Internal::PrintNS::SeparatorFacility< PrintPolicyT > |
Facility to handle properly the interval issue (we want separator between elements but not at the end of the list. More... | |
struct | MoReFEM::Internal::PrintNS::PrintTupleHelper< StreamT, Index, Max, TupleT > |
Facility to print elements of a tuple. More... | |
struct | MoReFEM::Internal::PrintNS::PrintTupleHelper< StreamT, Max, Max, TupleT > |
Specialization used to stop recursive call. More... | |
struct | MoReFEM::Internal::SortNS::SortHelper< T, IndexT, TupleT > |
Helper function for SortingCriterion. More... | |
struct | MoReFEM::Internal::Tuple::IndexOfHelper< T, TupleT, I > |
helper class for IndexOf, which does much of the actual work More... | |
struct | MoReFEM::Internal::Tuple::AssertNoDuplicateHelper< TupleT, I, TupleSizeT > |
Check that all the types in TupleT after I are not the same type as I. More... | |
struct | MoReFEM::Internal::Tuple::AreEqualLengthHelper< TupleT, Index, LengthMinusOne > |
Helper class to determine whether all containers held in TupleT are the same size. More... | |
struct | MoReFEM::Internal::Tuple::CallFunctionWithArgumentsFromTuple< ReturnTypeT, FunctionPrototypeT, TupleT, IsDoneT, NvalueInTupleT, ArgumentIteratorT > |
Helper function for Utilities::Tuple::CallFunctionWithArgumentsFromTuple. More... | |
struct | MoReFEM::Internal::Tuple::Decay< OriginalTupleT, DecayedTupleUnderConstructT, I, TupleSizeT > |
Helper struct used to build the underlying type of Utilities::Tuple::Decay. More... | |
struct | MoReFEM::Internal::Tuple::Decay< OriginalTupleT, DecayedTupleT, TupleSizeT, TupleSizeT > |
Stopping point of the helper struct used to build the underlying type of Utilities::Tuple::Decay. More... | |
struct | MoReFEM::Internal::Tuple::tuple_element_with_fallback_impl< Index, TupleT, IsValidIndexT > |
Provides the implementaiton of tuple_element_with_fallback. More... | |
struct | MoReFEM::Utilities::PointerComparison::Less< T > |
The equivalent of std::less<> for raw or shared pointers: except that what is compared is the underlying object rather than just the address of the pointer. More... | |
struct | MoReFEM::Utilities::PointerComparison::Greater< T > |
See Less for explanation. More... | |
struct | MoReFEM::Utilities::PointerComparison::Equal< T > |
See Less for explanation. More... | |
struct | MoReFEM::Utilities::PrintContainer< PrintPolicyT > |
Print the content of a container (that might be associative or not - see PrintPolicyT). More... | |
struct | MoReFEM::Utilities::PrintPolicyNS::Associative< FormatT > |
Policy to handle the an associative container. More... | |
struct | MoReFEM::Utilities::PrintPolicyNS::Key |
Policy to print only the keys of an associative container. More... | |
struct | MoReFEM::Utilities::PrintPolicyNS::Normal |
Policy to handle the 'normal' case, i.e. when elements inside the container are directly displayable with operator <<. More... | |
struct | MoReFEM::Utilities::PrintPolicyNS::Pointer |
Policy to handle the content of a container of (eventually smart) pointers. More... | |
struct | MoReFEM::Utilities::PrintPolicyNS::Quoted< QuoteCharacterT > |
Policy very similar to the Normal one, except that each element is quoted by a single quote. More... | |
struct | MoReFEM::Utilities::PrintPolicyNS::Variant |
Policy to handle the case a container element might be a std::variant. More... | |
class | MoReFEM::Utilities::Tuple::AssertNoDuplicate< TupleT > |
Check the same type is not present twice in TupleT. More... | |
struct | MoReFEM::Utilities::Tuple::Decay< OriginalTupleT > |
The purpose of this struct is to return a new tuple which includes the decayed types of original_tuple. More... | |
struct | MoReFEM::Utilities::Tuple::tuple_element_with_fallback< Index, TupleT > |
An alternative to std::tuple_element which is a bit more forgiving. More... | |
class | MoReFEM::Utilities::Tuple::IndexOf< T, TupleT > |
Find the index of a given type in a tuple (used here as a typelist) More... | |
struct | MoReFEM::Utilities::ContainerHash |
Struct used to generate a hash key for a container with a direct accessor. More... | |
struct | MoReFEM::Utilities::StaticCast< SourceT, TargetT > |
A slightly extended static_cast. More... | |
class | MoReFEM::Utilities::Environment |
Provides access to shell environment variables and also some internal data that act likewise. More... | |
class | MoReFEM::Advanced::Assertion |
Class used when we want a bit more intel than the one provided by an assert . More... | |
class | MoReFEM::Exception |
Generic class for MoReFEM exceptions. More... | |
class | MoReFEM::ExceptionNS::Factory::Exception |
Generic exception for factory. More... | |
class | MoReFEM::ExceptionNS::Factory::UnableToRegister |
Thrown when a new element try to register with an already existing name. More... | |
class | MoReFEM::ExceptionNS::Factory::UnregisteredName |
Thrown when trying to create an object which name is not registered. More... | |
class | MoReFEM::ExceptionNS::GracefulExit |
Exception when we want to exit graceful with a EXIT_SUCCESS return code. More... | |
class | MoReFEM::FilesystemNS::Directory |
Class used to manage directories in MoReFEM. More... | |
class | MoReFEM::FilesystemNS::DirectoryNS::ExceptionNS::Exception |
Generic class. More... | |
class | MoReFEM::FilesystemNS::DirectoryNS::ExceptionNS::AlreadyExistsButNotAsDirectory |
Thrown when an object was found on the filesystem but is not a directory. More... | |
class | MoReFEM::FilesystemNS::DirectoryNS::ExceptionNS::Unexisting |
Thrown when a directory that is assumed to exist on the filesystem couln't be found. More... | |
class | MoReFEM::FilesystemNS::DirectoryNS::ExceptionNS::ShouldntExist |
Thrown when a directoryalready exists on the filesystem whereas it was expected not to. More... | |
class | MoReFEM::FilesystemNS::DirectoryNS::ExceptionNS::SetBehaviourNoRank |
Thrown when SetBehaviour is called for a behaviour not allowed with no ranks. More... | |
class | MoReFEM::FilesystemNS::DirectoryNS::ExceptionNS::EmptyPath |
Thrown when path provided to Directory is empty. More... | |
class | MoReFEM::FilesystemNS::File |
Class used in MoReFEM to represent files on the filesystem. More... | |
class | MoReFEM::Advanced::InputDataNS::Crtp::Leaf< DerivedT, EnclosingSectionT, ReturnTypeT > |
Generic class from which each Leaf should derive. More... | |
struct | MoReFEM::Advanced::InputDataNS::Crtp::IndexedSectionDescription< DerivedT, EnclosingSectionT, TagT > |
A very special Leaf which is used to mark there is an indexed section that must be considered. More... | |
struct | MoReFEM::Advanced::InputDataNS::Crtp::Section< DerivedT, EnclosingSectionT > |
Any section in the input data file list tuple should derive from this. More... | |
struct | MoReFEM::Advanced::InputDataNS::Crtp::IndexedSection< DerivedT, IndexT, TagT, EnclosingSectionT > |
CRTP for special section that might be present several times for a given Model. More... | |
class | MoReFEM::InputDataNS::ExceptionNS::Exception |
Generic class. More... | |
class | MoReFEM::InputDataNS::ExceptionNS::DuplicateInInputFile |
Thrown when an input datum appears twice in the input data file. More... | |
class | MoReFEM::InputDataNS::ExceptionNS::DuplicateInTuple |
Thrown when a same key (section/name) appears twice in the tuple elements. More... | |
class | MoReFEM::InputDataNS::ExceptionNS::UnboundInputData |
Thrown when a data in the input data file is not related to an element in the tuple list. More... | |
class | MoReFEM::InputDataNS::ExceptionNS::MismatchedVectorSize< SubTupleT > |
Thrown when a data in the input data file is not related to an element in the tuple list. More... | |
class | MoReFEM::InputDataNS::ExceptionNS::MpiNotInitialized |
Thrown when MPI has not been initialized properly. More... | |
class | MoReFEM::InputDataNS::ExceptionNS::FolderDoesntExist |
Thrown when a folder specified in the input file doesn't exist whereas it was expected to. More... | |
class | MoReFEM::InputDataNS::ExceptionNS::NoEntryInModelSettings |
Thrown when ModelSettings want to modify an entry not present in the tuple. More... | |
class | MoReFEM::InputDataNS::ExceptionNS::ValueCantBeSetTwice |
Thrown when ModelSettings::Add() is called twice upon the same entry. More... | |
class | MoReFEM::InputDataNS::ExceptionNS::ModelSettingsNotCompletelyFilled |
Thrown when ModelSettings tuple is not completely filled when there is a call to ModelSettings::CheckTupleCompletelyFilled(). More... | |
class | MoReFEM::InputDataNS::ExceptionNS::MissingIndexedSectionDescriptionInModelSettingsTuple |
Thrown when the model developer forgot to add a IndexedSectionDescription object in the model-specific ModelSettings tuple. More... | |
class | MoReFEM::InputData< TupleT, DoUpdateLuaFileT > |
This class read the input data file and then is in charge of holding the values read. More... | |
class | MoReFEM::Internal::InputDataNS::AbstractClass< TupleT > |
An abstract class from which InputData and ModelSettings classes are built. More... | |
struct | MoReFEM::Internal::InputDataNS::EmptyInputData |
Placeholder when there are no InputData. More... | |
struct | MoReFEM::Internal::InputDataNS::ExtractLeaf< LeafT > |
A convenient helper to extract the value stored in a leaf of InputData with syntactic sugar. More... | |
struct | MoReFEM::Internal::InputDataNS::ExtractSection< SectionT > |
Mostly the same as ExtractLeaf for sections. More... | |
struct | MoReFEM::Internal::PrintPolicyNS::LuaFormat |
Policy to handle the printing of input data onto a stream. More... | |
struct | MoReFEM::Internal::InputDataNS::Traits::Format< return_type > |
Class specializations used in CreateDefaultInputFile() to write the expected format for a given input data. More... | |
struct | MoReFEM::Internal::InputDataNS::TupleIteration< TupleT, Index > |
An helper class used to perform some operations recursively for all elements of TupleT. More... | |
class | MoReFEM::ModelSettings< TupleT > |
Class which purpose is to store model-related data that are intended to be set exclusively by the author of the model. More... | |
class | MoReFEM::Utilities::CSRPattern< T > |
Objects that store information about the CSR pattern of a sparse matrix. More... | |
class | MoReFEM::GlobalLinearAlgebraNS::GlobalVectorTemporary< DerivedT, GlobalVectorT, N, IdentifierT > |
Gives to a DerivedT class access to one or several unnamed GlobalVector for temporary storage. More... | |
class | MoReFEM::Internal::GlobalLinearAlgebraNS::GlobalVectorTemporaryAccess< WorkVariableT > |
Class which actually provides access to a temporary GlobalVector needed in GlobalVectorTemporary scheme. More... | |
class | MoReFEM::Internal::GlobalLinearAlgebraNS::GlobalVectorTemporaryStorage< GlobalVectorT, N, IdentifierT > |
Class which actually stores the GlobalVector needed in GlobalVectorTemporary CRTP. More... | |
class | MoReFEM::Crtp::LocalMatrixStorage< DerivedT, NlocalMatricesT, LocalMatrixT > |
CRTP to give access to NlocalMatricesT local matrices. More... | |
class | MoReFEM::Crtp::LocalVectorStorage< DerivedT, NlocalVectorT, LocalVectorT > |
CRTP to give access to NlocalVectorT local vectors. More... | |
struct | MoReFEM::Utilities::Type2Type< T > |
Create an hollow object that might be useful to mimic template function overloading. More... | |
struct | MoReFEM::Utilities::ConstRefOrValue< T > |
Yields most adapted return type: by value or by const reference. More... | |
class | MoReFEM::Crtp::CrtpMpi< DerivedT > |
This CRTP class provides to its derived class a Mpi object and an accessor to it. More... | |
class | MoReFEM::Crtp::Mutex< DerivedT > |
This CRTP class defines a mutex each object of the DerivedT class. More... | |
class | MoReFEM::ExceptionNS::NumericNS::InconsistentVectors |
Thrown when NumericNS::AreEqual is used on two vectors that don't share the same shape. More... | |
class | MoReFEM::ExceptionNS::NumericNS::InconsistentMatrices |
Thrown when NumericNS::AreEqual is used on two matrices that don't share the same shape. More... | |
class | MoReFEM::Utilities::ExceptionNS::Singleton::DeadReference |
This exception is thrown if a call is made after singleton destruction. More... | |
class | MoReFEM::Utilities::ExceptionNS::Singleton::NotYetCreated |
class | MoReFEM::Utilities::Singleton< T > |
Provides part of the singleton interface to T through a CRTP. More... | |
class | MoReFEM::TimeKeep |
Class used to profile crudely (through prints) the code. More... | |
struct | MoReFEM::StrongTypeNS::Addable< StrongTypeT > |
If this skill is added as a variadic parameter to a StrongType operator+ is enabled for the StrongType. More... | |
struct | MoReFEM::StrongTypeNS::AsMpiDatatype< StrongTypeT > |
If this skill is added as a variadic parameter to a StrongType, the facilities related to Mpi may be used with the StrongType. More... | |
struct | MoReFEM::StrongTypeNS::Comparable< StrongTypeT > |
If this skill is added as a variadic parameter to a StrongType operator< and == are enabled for the StrongType. More... | |
struct | MoReFEM::StrongTypeNS::DefaultConstructible< StrongTypeT > |
If this skill is added as a variadic parameter to a StrongType, default constructor is enabled. More... | |
struct | MoReFEM::StrongTypeNS::Divisible< StrongTypeT > |
If this skill is added as a variadic parameter to a StrongType operator% is enabled for the StrongType. More... | |
struct | MoReFEM::StrongTypeNS::Hashable< StrongTypeT > |
If this skill is added as a variadic parameter to a StrongType, a hash specialization is provided (using the underlying type hash) More... | |
struct | MoReFEM::StrongTypeNS::Incrementable< StrongTypeT > |
If this skill is added as a variadic parameter to a StrongType operator+ is enabled for the StrongType. More... | |
struct | MoReFEM::StrongTypeNS::Printable< StrongTypeT > |
If this skill is added as a variadic parameter to a StrongType operator<< is enabled for the StrongType. More... | |
class | MoReFEM::StrongType< T, Parameter, Skills > |
Abstract class used to define a StrongType, which allows more expressive code and ensures that the order of arguments of the same underlying type is respected at call sites. More... | |
class | MoReFEM::Internal::ExceptionsNS::UniqueId::Exception |
Generic exception thrown for unique id related operations. More... | |
class | MoReFEM::Internal::ExceptionsNS::UniqueId::ReservedValue |
Specific unique id exception. More... | |
class | MoReFEM::Internal::ExceptionsNS::UniqueId::AlreadyExistingId |
Specific unique id exception. More... | |
class | MoReFEM::Crtp::UniqueId< DerivedT, UnderlyingTypeT, AssignationModeT, DoAllowNoIdT > |
This CRTP class defines a unique ID for each object of the DerivedT class. More... | |
Macros | |
#define | PRAGMA_DIAGNOSTIC(tok) _Pragma(STR(PREPARE_PRAGMA_STRING(tok))) |
Apply a pragma diagnostic directive. | |
Module to encompass handly side functionalities (printing content of a STL container, creating a file in filesystem, and so forth...)
This module is compiled along with ThirdParty module in Utilities library.
Utilities groups all the miscellaneous tools that aren't very tied to MoReFEM core; the idea is that in a completely unrelated project most of it could remain handy.
It is there for instance that you may found utilities to check whether a real is zero or not, another one to create a file in the filesystem, yet another one to print easily the contain of a STL container.
#define PRAGMA_DIAGNOSTIC | ( | tok | ) | _Pragma(STR(PREPARE_PRAGMA_STRING(tok))) |
#include </builds/2mk6rsew/0/MoReFEM/CoreLibrary/MoReFEM/Sources/Utilities/Warnings/Pragma.hpp>
Apply a pragma diagnostic directive.
[in] | tok | IndexedSectionDescription given to the macro. It is not a string literal yet; do no put double quotes around this argument. |
The advantage over a direct call to _Pragma is that the compiler is automatically handled.
Without that the line would be
#pragma clang diagnostic ignored "-Wconversion"
for clang and
#pragma GCC diagnostic ignored "-Wconversion"
for GCC, with a directive condition to rule out between both.