AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
slic_macros.hpp File Reference
#include "axom/config.hpp"
#include "axom/core/Macros.hpp"

Classes

struct  axom::slic::detail::FalseType
 Variable of a type that evaluates as false. More...
 

Namespaces

 axom
 
 axom::slic
 
 axom::slic::detail
 

Macros

#define SLIC_ASSERT(ignore_EXP)   ((void)0)
 
#define SLIC_ASSERT_MSG(ignore_EXP, ignore_msg)   ((void)0)
 
#define SLIC_CHECK(ignore_EXP)   ((void)0)
 
#define SLIC_CHECK_MSG(ignore_EXP, ignore_msg)   ((void)0)
 
#define SLIC_INFO(msg)
 Logs an Info message. More...
 
#define SLIC_INFO_IF(EXP, msg)
 Logs an Info message iff EXP is true. More...
 
#define SLIC_DEBUG(ignore_EXP)   ((void)0)
 
#define SLIC_DEBUG_IF(ignore_EXP, ignore_msg)   ((void)0)
 
ERROR MACROS
#define SLIC_ERROR(msg)
 Logs an error and aborts the application. More...
 
#define SLIC_ERROR_IF(EXP, msg)
 Logs an error iff EXP is true and aborts the application. More...
 
WARNING MACROS
#define SLIC_WARNING(msg)
 Logs a warning message. More...
 
#define SLIC_WARNING_IF(EXP, msg)
 Logs an error iff EXP is true and aborts the application. More...
 

Variables

static const FalseType axom::slic::detail::false_value
 

Macro Definition Documentation

◆ SLIC_ERROR

#define SLIC_ERROR (   msg)
Value:
do \
{ \
std::ostringstream __oss; \
__oss << msg; \
axom::slic::logErrorMessage(__oss.str(), __FILE__, __LINE__); \
static const FalseType false_value
Definition: slic_macros.hpp:392
void logErrorMessage(const std::string &message, const std::string &fileName, int line)
Convenience method to log an error message.

Logs an error and aborts the application.

Parameters
[in]msguser-supplied message
Note
The SLIC_ERROR macro is always active.
Warning
This macro calls processAbort().

Usage:

SLIC_ERROR( "my_val should always be positive" );

Referenced by axom::mint::Lagrange< CELLTYPE >::computeDerivatives(), axom::inlet::Container::get(), axom::mint::ParticleMesh::getCellFaceIDs(), axom::mint::UniformMesh::getCoordinateArray(), axom::mint::UnstructuredMesh< TOPO >::getEdgeCapacity(), axom::mint::UnstructuredMesh< TOPO >::getEdgeResizeRatio(), axom::mint::ParticleMesh::getFaceCellIDs(), axom::mint::ParticleMesh::getFaceNodeIDs(), axom::mint::ParticleMesh::getFaceType(), axom::mint::FieldData::getField(), axom::mint::UnstructuredMesh< TOPO >::getNumberOfEdges(), axom::mint::ParticleMesh::getNumberOfFaceNodes(), axom::quest::Delaunay< DIM >::isValid(), axom::quest::PointInCell< mesh_tag, ExecSpace >::locatePoint(), axom::quest::PointInCell< mesh_tag, ExecSpace >::PointInCell(), axom::quest::SamplingShaper::prepareShapeQuery(), axom::quest::IntersectionShaper::prepareShapeQuery(), and axom::quest::IntersectionShaper::runShapeQuery().

◆ SLIC_ERROR_IF

#define SLIC_ERROR_IF (   EXP,
  msg 
)
Value:
do \
{ \
if(EXP) \
{ \
std::ostringstream __oss; \
__oss << msg; \
axom::slic::logErrorMessage(__oss.str(), __FILE__, __LINE__); \
} \
static const FalseType false_value
Definition: slic_macros.hpp:392
void logErrorMessage(const std::string &message, const std::string &fileName, int line)
Convenience method to log an error message.

Logs an error iff EXP is true and aborts the application.

Parameters
[in]EXPuser-supplied boolean expression.
[in]msguser-supplied message.
Note
The SLIC_ERROR_IF macro is always active.
Warning
This macro calls processAbort() if EXP is true.

Usage:

SLIC_ERROR_IF( (val < 0), "my_val should always be positive" );

Referenced by axom::mint::ParticleMesh::append(), axom::sidre::Array< T, DIM >::Array(), axom::inlet::FunctionWrapper< FunctionTags >::call(), axom::mint::ConnectivityArray< TYPE >::ConnectivityArray(), axom::mint::FieldData::createField(), axom::mint::Mesh::createField(), axom::sidre::Array< T, DIM >::dynamicRealloc(), axom::mint::Field::Field(), axom::mint::FieldVariable< T >::FieldVariable(), axom::inlet::FunctionWrapper< FunctionTags >::get(), axom::mint::MeshCoordinates::getCoordinateArray(), axom::mint::Field::getDataPtr(), axom::mint::Mesh::getFieldData(), axom::mint::FieldData::getFieldPtr(), axom::sidre::detail::getViewShapeImpl< 1 >(), axom::sidre::detail::getViewShapeImpl< 2 >(), axom::sidre::Array< T, DIM >::reallocViewData(), axom::mint::MeshCoordinates::reserve(), axom::mint::ConnectivityArray< TYPE >::reserve(), axom::quest::SamplingShaper::setVolumeFractionOrder(), axom::mint::MeshCoordinates::shrink(), axom::inlet::detail::toIndex(), and axom::mint::UnstructuredMesh< TOPO >::UnstructuredMesh().

◆ SLIC_WARNING

◆ SLIC_WARNING_IF

#define SLIC_WARNING_IF (   EXP,
  msg 
)
Value:
do \
{ \
if(EXP) \
{ \
std::ostringstream __oss; \
__oss << msg; \
axom::slic::logWarningMessage(__oss.str(), __FILE__, __LINE__); \
} \
static const FalseType false_value
Definition: slic_macros.hpp:392
void logWarningMessage(const std::string &message, const std::string &fileName, int line)
Convenience method to log warning messages.

Logs an error iff EXP is true and aborts the application.

Parameters
[in]EXPuser-supplied boolean expression.
[in]msguser-supplied message.
Note
The SLIC_WARNING_IF macro is always active.

Usage:

SLIC_WARNING_IF( (val < 0), "my_val should always be positive" );

Referenced by axom::mint::UnstructuredMesh< TOPO >::getFaceResizeRatio(), axom::sidre::ListCollection< TYPE >::insertItem(), axom::mint::MeshCoordinates::isExternal(), axom::mint::MeshCoordinates::isInSidre(), axom::mint::Mesh::removeField(), and axom::quest::InOutOctree< DIM >::setVertexWeldThreshold().

◆ SLIC_ASSERT

#define SLIC_ASSERT (   ignore_EXP)    ((void)0)

Referenced by axom::primal::NeighborCollection::addNeighbors(), axom::primal::Polyhedron< T, NDIMS >::addVertex(), axom::quest::IntersectionShaper::adjustVolumeFractions(), axom::primal::Triangle< double, NDIMS >::angle(), axom::mint::MeshCoordinates::append(), axom::mint::ParticleMesh::append(), axom::mint::ConnectivityArray< TYPE >::appendM(), axom::quest::IntersectionShaper::applyReplacementRules(), axom::sidre::Array< T, DIM >::Array(), axom::mint::bind_basis(), axom::primal::BoundingBox< DataType, DIM >::bisect(), axom::spin::OctreeLevel< DIM, BlockDataType >::BlockIterator< OctreeLevel, IterHelper, DataType >::BlockIterator(), axom::spin::OctreeBase< DIM, InOutBlockData >::blockStatus(), axom::primal::BoundingBox< DataType, DIM >::BoundingBox(), axom::primal::Polygon< T, NDIMS >::centroid(), axom::primal::Polyhedron< T, NDIMS >::centroid(), axom::spin::OctreeBase< DIM, BlockDataType >::BlockIndex::childPt(), axom::primal::NumericArray< IndexType, NDIMS >::clamp(), axom::quest::shaping::InOutSampler< 3 >::computeBounds(), axom::mint::Lagrange< mint::TRIANGLE >::computeDerivatives(), axom::mint::Lagrange< mint::QUAD >::computeDerivatives(), axom::mint::Lagrange< mint::TET >::computeDerivatives(), axom::mint::Lagrange< mint::PYRAMID >::computeDerivatives(), axom::mint::Lagrange< mint::PRISM >::computeDerivatives(), axom::mint::Lagrange< mint::HEX >::computeDerivatives(), axom::mint::Lagrange< mint::QUAD9 >::computeDerivatives(), axom::mint::Lagrange< mint::HEX27 >::computeDerivatives(), axom::quest::SignedDistance< NDIMS, ExecSpace >::computeDistances(), axom::mint::Lagrange< mint::TRIANGLE >::computeShape(), axom::mint::Lagrange< mint::QUAD >::computeShape(), axom::mint::Lagrange< mint::TET >::computeShape(), axom::mint::Lagrange< mint::PYRAMID >::computeShape(), axom::mint::Lagrange< mint::PRISM >::computeShape(), axom::mint::Lagrange< mint::QUAD9 >::computeShape(), axom::mint::Lagrange< mint::HEX >::computeShape(), axom::mint::Lagrange< mint::HEX27 >::computeShape(), axom::mint::ConnectivityArray< TYPE >::ConnectivityArray(), axom::spin::ImplicitGrid< NDIMS, ExecSpace, TheIndexType >::contains(), axom::slam::Map< slam::Set< CoordType, CoordType >, OctreeLevelType * >::copy(), axom::spin::OctreeBase< DIM, InOutBlockData >::coveringLeafBlock(), axom::mint::FieldData::createField(), axom::mint::Mesh::createField(), axom::sidre::detail::describeViewImpl(), axom::primal::Vector< SpaceCoordType, NDIMS >::dot_product(), axom::mint::UniformMesh::evaluateCoordinate(), axom::spin::OctreeBase< DIM, BlockDataType >::BlockIndex::faceNeighbor(), axom::mint::FieldVariable< T >::FieldVariable(), axom::spin::BVH< NDIMS, ExecSpace >::findBoundingBoxes(), axom::spin::BVH< NDIMS, ExecSpace >::findPoints(), axom::spin::BVH< NDIMS, ExecSpace >::findRays(), axom::mint::for_all_cells(), axom::mint::for_all_faces(), axom::mint::for_all_nodes(), axom::quest::InOutOctree< DIM >::generateIndex(), axom::spin::UniformGrid< T, NDIMS >::getBinContents(), axom::mint::StructuredMesh::getCellFaceIDs(), axom::mint::UnstructuredMesh< TOPO >::getCellFaceIDs(), axom::mint::StructuredMesh::getCellGridIndex(), axom::mint::StructuredMesh::getCellNodeIDs(), axom::mint::ParticleMesh::getCellNodeIDs(), axom::mint::UnstructuredMesh< TOPO >::getCellNodeIDs(), axom::mint::StructuredMesh::getCellResolution(), axom::mint::Lagrange< mint::QUAD >::getCenter(), axom::mint::Lagrange< mint::PRISM >::getCenter(), axom::mint::Lagrange< mint::HEX >::getCenter(), axom::mint::Lagrange< mint::TRIANGLE >::getCenter(), axom::mint::Lagrange< mint::QUAD9 >::getCenter(), axom::mint::Lagrange< mint::PYRAMID >::getCenter(), axom::mint::Lagrange< mint::TET >::getCenter(), axom::mint::Lagrange< mint::HEX27 >::getCenter(), axom::mint::MeshCoordinates::getCoordinate(), axom::mint::MeshCoordinates::getCoordinateArray(), axom::mint::MeshCoordinates::getCoordinates(), axom::mint::Lagrange< mint::PRISM >::getCoords(), axom::mint::Lagrange< mint::QUAD >::getCoords(), axom::mint::Lagrange< mint::HEX >::getCoords(), axom::mint::Lagrange< mint::TRIANGLE >::getCoords(), axom::mint::Lagrange< mint::QUAD9 >::getCoords(), axom::mint::Lagrange< mint::TET >::getCoords(), axom::mint::Lagrange< mint::PYRAMID >::getCoords(), axom::mint::Lagrange< mint::HEX27 >::getCoords(), axom::mint::Field::getDataPtr(), axom::slam::ProductSet< PosType, ElemType >::getElements(), axom::mint::StructuredMesh::getExtent(), axom::mint::UnstructuredMesh< TOPO >::getFaceCellsArray(), axom::mint::StructuredMesh::getFaceLinearIndex(), axom::mint::StructuredMesh::getFaceNodeIDs(), axom::mint::UnstructuredMesh< TOPO >::getFaceNodeIDs(), axom::mint::FieldData::getField(), axom::mint::FieldData::getFieldPtr(), axom::mint::Mesh::getFieldPtr(), axom::mint::StructuredMesh::getIFaceCellIDs(), axom::mint::StructuredMesh::getIFaceGridIndex(), axom::mint::StructuredMesh::getIFaceLinearIndex(), axom::mint::StructuredMesh::getIFaceNodeIDs(), axom::mint::StructuredMesh::getJFaceCellIDs(), axom::mint::StructuredMesh::getJFaceGridIndex(), axom::mint::StructuredMesh::getJFaceLinearIndex(), axom::mint::StructuredMesh::getJFaceNodeIDs(), axom::mint::StructuredMesh::getKFaceCellIDs(), axom::mint::StructuredMesh::getKFaceGridIndex(), axom::mint::StructuredMesh::getKFaceLinearIndex(), axom::mint::StructuredMesh::getKFaceNodeIDs(), axom::primal::BoundingBox< DataType, DIM >::getLongestDimension(), axom::quest::getMeshTriangle(), axom::primal::NeighborCollection::getNeighbors(), axom::mint::StructuredMesh::getNodeGridIndex(), axom::mint::StructuredMesh::getNodeResolution(), axom::primal::NeighborCollection::getNumNeighbors(), axom::spin::ImplicitGrid< NDIMS, ExecSpace, TheIndexType >::getQueryObject(), axom::mint::StructuredMesh::getTotalNumFaces(), axom::spin::OctreeBase< DIM, InOutBlockData >::hasBlock(), axom::mint::Mesh::hasField(), axom::spin::ImplicitGrid< NDIMS, ExecSpace, TheIndexType >::ImplicitGrid(), axom::spin::ImplicitGrid< NDIMS, ExecSpace, TheIndexType >::initialize(), axom::spin::BVH< NDIMS, ExecSpace >::initialize(), axom::spin::UniformGrid< T, NDIMS >::insert(), axom::spin::ImplicitGrid< NDIMS, ExecSpace, TheIndexType >::insert(), axom::mint::MeshCoordinates::insert(), axom::mint::ConnectivityArray< TYPE >::insertM(), axom::primal::NeighborCollection::insertNeighborAtPos(), axom::spin::OctreeBase< DIM, BlockDataType >::BlockIndex::isDescendantOf(), axom::quest::Delaunay< DIM >::isValid(), axom::quest::PointInCell< mesh_tag, ExecSpace >::locatePoint(), axom::quest::PointInCell< mesh_tag, ExecSpace >::locatePoints(), axom::slam::ModularInt< SizePolicy >::ModularInt(), axom::slam::BivariateMap< SetType, DataType, StridePolicy >::BivariateMapIterator::numComp(), axom::primal::NumericArray< IndexType, NDIMS >::NumericArray(), axom::slam::OrderedSet< PosType, ElemType, SizePolicy, OffsetPolicy, StridePolicy, IndirectionPolicy, SubsettingPolicy >::SetBuilder::offset(), axom::primal::NumericArray< IndexType, NDIMS >::operator/=(), axom::primal::Tetrahedron< T, NDIMS >::operator[](), axom::primal::Triangle< double, NDIMS >::operator[](), axom::primal::NeighborCollection::operator[](), axom::primal::Segment< T, NDIMS >::operator[](), axom::primal::Octahedron< T, NDIMS >::operator[](), axom::slam::StaticRelation< PosType, ElemType, RelationCardinalityPolicy, RelationIndicesIndirectionPolicy, TheFromSet, TheToSet >::operator[](), axom::mint::ConnectivityArray< TYPE >::operator[](), axom::spin::OctreeBase< DIM, InOutBlockData >::operator[](), axom::primal::OrientedBoundingBox< T, NDIMS >::OrientedBoundingBox(), axom::quest::PointInCell< mesh_tag, ExecSpace >::PointInCell(), axom::primal::Polygon< T, NDIMS >::Polygon(), axom::quest::SamplingShaper::prepareShapeQuery(), axom::primal::Ray< T, NDIMS >::Ray(), axom::spin::OctreeBase< DIM, InOutBlockData >::refineLeaf(), axom::slam::RelationSet< RelationType >::RelationSet(), axom::mint::MeshCoordinates::reserve(), axom::mint::ParticleMesh::reserve(), axom::mint::MeshCoordinates::resize(), axom::mint::ParticleMesh::resize(), axom::quest::shaping::InOutSampler< 3 >::sampleInOutField(), axom::mint::MeshCoordinates::set(), axom::mint::ConnectivityArray< TYPE >::set(), axom::mint::Field::setBasis(), axom::sidre::Array< T, DIM >::setCapacity(), axom::quest::IntersectionShaper::setExecPolicy(), axom::mint::ConnectivityArray< TYPE >::setM(), axom::quest::SignedDistance< NDIMS, ExecSpace >::setMesh(), axom::mint::MeshCoordinates::setResizeRatio(), axom::quest::InOutOctree< DIM >::setVertexWeldThreshold(), axom::mint::MeshCoordinates::shrink(), axom::mint::ParticleMesh::shrink(), axom::quest::SignedDistance< NDIMS, ExecSpace >::SignedDistance(), axom::primal::NumericArray< IndexType, NDIMS >::size(), axom::primal::Sphere< T, NDIMS >::Sphere(), axom::primal::split(), axom::primal::NumericArray< IndexType, NDIMS >::to_array(), axom::spin::UniformGrid< T, NDIMS >::UniformGrid(), axom::mint::UnstructuredMesh< TOPO >::UnstructuredMesh(), axom::sidre::Array< T, DIM >::updateNumElements(), and axom::spin::BVH< NDIMS, ExecSpace >::writeVtkFile().

◆ SLIC_ASSERT_MSG

#define SLIC_ASSERT_MSG (   ignore_EXP,
  ignore_msg 
)    ((void)0)

Referenced by axom::spin::DenseOctreeLevel< DIM, BlockDataType, MortonIndexType >::addAllChildren(), axom::spin::SparseOctreeLevel< DIM, BlockDataType, PointRepresenationType >::addAllChildren(), axom::quest::SamplingShaper::applyReplacementRules(), axom::slam::BitSet::atomicFlip(), axom::slam::StaticRelation< PosType, ElemType, RelationCardinalityPolicy, RelationIndicesIndirectionPolicy, TheFromSet, TheToSet >::RelationBuilder::begins(), axom::slam::BitSet::BitSet(), axom::inlet::Proxy::call(), axom::slam::policies::CompileTimeOffset< IntType, INT_VAL >::CompileTimeOffset(), axom::slam::policies::CompileTimeSize< IntType, INT_VAL >::CompileTimeSize(), axom::slam::BivariateMap< SetType, DataType, StridePolicy >::copy(), axom::spin::OctreeBase< DIM, InOutBlockData >::coveringLeafBlock(), axom::slam::DynamicVariableRelation< PosType, ElemType >::data(), axom::slam::Map< slam::Set< CoordType, CoordType >, OctreeLevelType * >::data(), axom::slam::DynamicConstantRelation< PosType, ElemType, CardinalityPolicy >::data(), axom::slam::NullSet< RelationType::SetPosition, RelationType::SetElement >::empty(), axom::spin::SpatialOctree< DIM, InOutBlockData >::findLeafBlock(), axom::quest::InOutOctree< DIM >::generateIndex(), axom::inlet::Proxy::get(), axom::spin::SparseOctreeLevel< DIM, BlockDataType, PointRepresenationType >::getBroodData(), axom::quest::detail::getClosestPointLocType(), axom::slam::NullBivariateSet< SetPosition, SetElement >::getElements(), axom::slam::FieldRegistry< slam::Set< VertexIndex >, VertexIndex >::getScalar(), axom::slam::policies::ArrayIndirection< PositionType, ElementType >::indirection(), axom::slam::policies::STLVectorIndirection< SetPosition, SetElement >::indirection(), axom::quest::Delaunay< DIM >::insertPoint(), axom::slam::ProductSet< PosType, ElemType >::isValid(), axom::slam::RelationSet< RelationType >::isValid(), axom::slam::SubMap< SetType, DataType, SuperMapType, StridePolicy >::isValid(), axom::quest::Delaunay< DIM >::isValid(), axom::slam::DynamicMap< SetType, DataType >::isValidEntry(), axom::slam::ModularInt< SizePolicy >::operator!=(), axom::slam::SubMap< SetType, DataType, SuperMapType, StridePolicy >::operator()(), axom::slam::BivariateMap< SetType, DataType, StridePolicy >::operator[](), axom::slam::SubMap< SetType, DataType, SuperMapType, StridePolicy >::operator[](), axom::spin::DenseOctreeLevel< DIM, BlockDataType, MortonIndexType >::operator[](), axom::spin::SparseOctreeLevel< DIM, BlockDataType, PointRepresenationType >::operator[](), axom::spin::OctreeBase< DIM, InOutBlockData >::operator[](), axom::primal::Plane< T, NDIMS >::Plane(), axom::slam::OrderedSet< IndexType, IndexType, SizePolicy >::positions(), axom::slam::DynamicSet< PositionType, ElementType >::reset(), axom::slam::DynamicMap< SetType, DataType >::resize(), axom::quest::IntersectionShaper::setExecPolicy(), axom::slam::policies::CompileTimeStride< IntType, INT_VAL >::setStride(), axom::slam::policies::StrideOne< SetPosition >::setStride(), axom::slam::OrderedSet< PosType, ElemType, SizePolicy, OffsetPolicy, StridePolicy, IndirectionPolicy, SubsettingPolicy >::SetBuilder::size(), axom::quest::InOutOctree< DIM >::within(), axom::slam::policies::ZeroOffset< SetPosition >::ZeroOffset(), and axom::slam::policies::ZeroSize< IntType >::ZeroSize().

◆ SLIC_CHECK

#define SLIC_CHECK (   ignore_EXP)    ((void)0)

◆ SLIC_CHECK_MSG

◆ SLIC_INFO

#define SLIC_INFO (   msg)
Value:
do \
{ \
std::ostringstream __oss; \
__oss << msg; \
__oss.str(), \
__FILE__, \
__LINE__); \
INFO log information that is useful for users & developers.
Definition: MessageLevel.hpp:36
void logMessage(message::Level level, const std::string &message, bool filter_duplicates=false)
Logs the given message to all registered streams.
static const FalseType false_value
Definition: slic_macros.hpp:392

Logs an Info message.

Parameters
[in]msguser-supplied message
Note
The SLIC_INFO macro is always active.

Usage:

SLIC_INFO( "informative text goes here" );

Referenced by axom::quest::SamplingShaper::adjustVolumeFractions(), axom::quest::SamplingShaper::applyReplacementRules(), axom::quest::IntersectionShaper::applyReplacementRules(), axom::quest::shaping::InOutSampler< 3 >::computeBounds(), axom::quest::findTriMeshIntersectionsImplicitGrid(), axom::quest::InOutOctree< DIM >::generateIndex(), axom::quest::getMeshTriangle(), axom::slam::DynamicVariableRelation< PosType, ElemType >::isValid(), axom::quest::Delaunay< DIM >::isValid(), axom::slam::DynamicConstantRelation< PosType, ElemType, CardinalityPolicy >::isValid(), axom::quest::SamplingShaper::prepareShapeQuery(), axom::quest::SamplingShaper::runShapeQuery(), axom::quest::shaping::InOutSampler< 3 >::sampleInOutField(), axom::quest::IntersectionShaper::setExecPolicy(), and axom::quest::InOutOctree< DIM >::within().

◆ SLIC_INFO_IF

#define SLIC_INFO_IF (   EXP,
  msg 
)
Value:
do \
{ \
if(EXP) \
{ \
std::ostringstream __oss; \
__oss << msg; \
__oss.str(), \
__FILE__, \
__LINE__); \
} \
INFO log information that is useful for users & developers.
Definition: MessageLevel.hpp:36
void logMessage(message::Level level, const std::string &message, bool filter_duplicates=false)
Logs the given message to all registered streams.
static const FalseType false_value
Definition: slic_macros.hpp:392

Logs an Info message iff EXP is true.

Parameters
[in]EXPuser-supplied boolean expression.
[in]msguser-supplied message.
Note
The SLIC_INFO_IF macro is always active.

Usage:

SLIC_INFO_IF( (val < 0), "my_val should always be positive" );

◆ SLIC_DEBUG

◆ SLIC_DEBUG_IF