Lagrange
AttributeFilter Struct Reference

Helper object to filter attributes based on name, id, usage or element type. More...

#include <lagrange/filter_attributes.h>

Public Types

using AttributeNameOrId = std::variant< AttributeId, std::string >
 Variant identifying an attribute by its name or id.
 

Public Attributes

std::optional< std::vector< AttributeNameOrId > > included_attributes
 Optional list of attributes to include. If not provided, all attributes are included.
 
std::optional< std::vector< AttributeNameOrId > > excluded_attributes
 Optional list of attributes to exclude. If not provided, no attribute is excluded.
 
BitField< AttributeUsageincluded_usages = BitField<AttributeUsage>::all()
 List of attribute usages to include. By default, all usages are included.
 
BitField< AttributeElementincluded_element_types = BitField<AttributeElement>::all()
 List of attribute element types to include. By default, all element types are included.
 
std::vector< AttributeFilteror_filters
 If set, match all attributes that satisfy any of the filters in this list. More...
 
std::vector< AttributeFilterand_filters
 If set, match all attributes that satisfy all of the filters in this list. More...
 

Detailed Description

Helper object to filter attributes based on name, id, usage or element type.

Member Data Documentation

◆ or_filters

std::vector<AttributeFilter> or_filters

If set, match all attributes that satisfy any of the filters in this list.

Note
A filter cannot contain both or_filters and and_filters.

◆ and_filters

std::vector<AttributeFilter> and_filters

If set, match all attributes that satisfy all of the filters in this list.

Note
A filter cannot contain both or_filters and and_filters.

The documentation for this struct was generated from the following file: