FilterWithPlaceHolders< ReadAcc, WriteAcc > Class Template Reference

A Filter with additional support for place holders. See Filters. More...

#include "Filter.hpp"

+ Inheritance diagram for FilterWithPlaceHolders< ReadAcc, WriteAcc >:

Public Member Functions

String text () const
 The text that was passed to the constructor (with unchanged place holders).
 
FilterWithPlaceHolders replaced (const opals::TrafPars3dAffine &trafo, const String &placeHolder=String(), bool furtherPlaceHolders=false) const
 Returns a new filter with placeHolder replaced by a filter node that is equivalent to trafo. More...
 
construction

Constructs a new filter based on text.

 FilterWithPlaceHolders (const String &text=String(), bool placeHolders=true)
 
 FilterWithPlaceHolders (const char *text, bool placeHolders=true)
 
- Public Member Functions inherited from Filter< ReadAcc, WriteAcc >
Filteroperator= (const Filter &)
 
String text () const
 The text that was passed to the constructor.
 
 Filter (const String &text=String())
 
 Filter (const char *text)
 
 Filter (const Filter &)
 
- Public Member Functions inherited from Handle< IFilter >
 Handle (const Handle &h)
 
 Handle (const Handle< T2, TS2, C2, A2 > &other)
 
 Handle (const Handle< T2, TS2, C2, A2 > &other, const use_static_cast &)
 
 Handle (const Handle< T2, TS2, C2, A2 > &other, const use_dynamic_cast &)
 
 Handle (IFilter *p)
 
Handleoperator= (const Handle &h)
 
Handleoperator= (const Handle< T2, TS2, C2, A2 > &other)
 
Handleoperator= (IFilter *p)
 
size_type id () const
 
 operator const IFilter & () const
 
 operator IFilter & ()
 
const IFilterptr () const
 
const IFilteroperator* () const
 
IFilteroperator* ()
 
const IFilteroperator-> () const
 
IFilteroperator-> ()
 
bool is_shared () const
 
unsigned int get_count () const
 
IFilterrelease ()
 
void swap (Handle &h)
 
void reset ()
 
Handle clone () const
 
bool operator== (const Handle &h) const
 
bool operator!= (const Handle &h) const
 
bool operator> (const Handle &h) const
 
bool operator< (const Handle &h) const
 
 operator unspecified_bool_type () const
 

Additional Inherited Members

- Public Types inherited from Handle< IFilter >
typedef IFilter element_type
 
- Static Public Member Functions inherited from Filter< ReadAcc, WriteAcc >
static const char * help (bool)
 
static const char * syntax ()
 
static bool exportsPythonType ()
 
- Static Public Member Functions inherited from CustomOptionType< Filter< ReadAcc, WriteAcc > >
static const char * _help (bool forDoxygen)
 get general help on this type
 
static const char * _syntax ()
 get the syntax used for parsing this type
 
static bool _exportsPythonType ()
 returns true if this type is exposed to Python as a custom type, false otherwise (if it is represented as Python-string)
 
- Static Public Member Functions inherited from CustomOptionType< FilterWithPlaceHolders< ReadAcc, WriteAcc > >
static const char * _help (bool forDoxygen)
 get general help on this type
 
static const char * _syntax ()
 get the syntax used for parsing this type
 
static bool _exportsPythonType ()
 returns true if this type is exposed to Python as a custom type, false otherwise (if it is represented as Python-string)
 
- Public Attributes inherited from Handle< IFilter >
const typedef IFilter *(self::* unspecified_bool_type )() const
 
- Protected Member Functions inherited from CustomOptionType< Filter< ReadAcc, WriteAcc > >
 ~CustomOptionType ()
 protected, must be derived from
 
- Protected Member Functions inherited from CustomOptionType< FilterWithPlaceHolders< ReadAcc, WriteAcc > >
 ~CustomOptionType ()
 protected, must be derived from
 

Detailed Description

template<DM::IFilter::ReadAccess ReadAcc, DM::IFilter::WriteAccess WriteAcc>
class opals::FilterWithPlaceHolders< ReadAcc, WriteAcc >

A Filter with additional support for place holders. See Filters.

Template Parameters
ReadAccread access
WriteAccwrite access

Place holders are words surrounded by curly braces in text, to be replaced before evaluation.

See Filters

Author
wk
Date
27.07.2020

Constructor & Destructor Documentation

◆ FilterWithPlaceHolders()

FilterWithPlaceHolders ( const String text = String(),
bool  placeHolders = true 
)

If text is empty or "pass", results in an empty base handle. If placeHolders, constructs DM::FilterHandle with all place holders in text replaced with "pass". Otherwise, this throws if text contains place holders.

Member Function Documentation

◆ replaced()

FilterWithPlaceHolders replaced ( const opals::TrafPars3dAffine trafo,
const String placeHolder = String(),
bool  furtherPlaceHolders = false 
) const

Returns a new filter with placeHolder replaced by a filter node that is equivalent to trafo.

If this is empty, returns a filter that consists of this node only. Throws if this is non-empty and text contains no such place holder. Constructs the filter to be returned with placeHolders = furtherPlaceHolders