1 #ifndef __JTOOLS__JSELECTOR__
2 #define __JTOOLS__JSELECTOR__
23 namespace JPP {
using namespace JTOOLS; }
38 template<
class JBase_t>
60 template<
class JDerived_t,
class JBase_t>
95 virtual std::istream&
read(std::istream&
in)
override
97 JDerived_t* p = this->
load(in);
115 virtual std::ostream&
write(std::ostream& out)
const override
117 this->
store(out, this->
get());
127 template<
class JBase_t>
150 template<
class JDerived_t>
164 template<
class JDerived_t>
175 template<
class JDerived_t>
187 template<
class JDerived_t>
199 template<
class JDerived_t>
212 template<
class JDerived_t>
227 template<
class JDerived_t>
246 return element.
get()->read(in);
262 return element.
get()->write(out);
274 template<
class JKey_t,
class JBase_t>
276 public std::map<JKey_t, JAutoElement<JBase_t> >
301 template<
class JDerived_t>
313 template<
class JDerived_t>
327 template<
class JDerived_t>
357 return i != this->end() && i->second.is_valid() && i->second.get()->is_valid();
382 if (i != this->end() && i->second.is_valid() && i->second.get()->is_valid())
383 return *(i->second.get()->get());
397 return this->
get(
key);
412 if (in >> selector.
key) {
416 if (i != selector.end() && i->second.
is_valid())
419 in.setstate(std::ios_base::failbit);
433 friend inline std::ostream& operator<<(std::ostream& out, const JSelector<JKey_t, JBase_t>& selector)
435 if (selector.key.isDefined()) {
439 if (i != selector.end() && i->second.
is_valid()) {
440 return out << selector.key <<
' ' << *(i->second);
Auxiliary class for a type holder.
bool is_valid() const
Check validity of pointer.
const bool isDefined() const
Get status of parameter.
JArgument< T >::argument_type argument_type
The template JSharedPointer class can be used to share a pointer to an object.
Exception for null pointer operation.
Interface for ASCII output using standard streams.
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
virtual void reset() override
Reset pointer.
virtual JClass_t * get() const override
Get pointer.