MOOSE - Multiscale Object Oriented Simulation Environment
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
SetGet6< A1, A2, A3, A4, A5, A6 > Class Template Reference

#include <SetGet.h>

+ Inheritance diagram for SetGet6< A1, A2, A3, A4, A5, A6 >:
+ Collaboration diagram for SetGet6< A1, A2, A3, A4, A5, A6 >:

Public Member Functions

 SetGet6 ()
 
- Public Member Functions inherited from SetGet
virtual bool checkOpClass (const OpFunc *op) const =0
 
 SetGet ()
 
virtual ~SetGet ()
 

Static Public Member Functions

static bool innerStrSet (const ObjId &dest, const string &field, const string &val)
 
static bool set (const ObjId &dest, const string &field, A1 arg1, A2 arg2, A3 arg3, A4 arg4, A5 arg5, A6 arg6)
 
- Static Public Member Functions inherited from SetGet
static const OpFunccheckSet (const string &field, ObjId &tgt, FuncId &fid)
 
static const vector< double * > * dispatchGet (const ObjId &tgt, FuncId tgtFid, const double *arg, unsigned int size)
 Sends out request for data, and awaits its return. More...
 
static bool strGet (const ObjId &tgt, const string &field, string &ret)
 
static bool strSet (const ObjId &dest, const string &field, const string &val)
 

Detailed Description

template<class A1, class A2, class A3, class A4, class A5, class A6>
class SetGet6< A1, A2, A3, A4, A5, A6 >

SetGet6 handles 6-argument Sets. It does not deal with Gets.

Definition at line 808 of file SetGet.h.

Constructor & Destructor Documentation

template<class A1 , class A2 , class A3 , class A4 , class A5 , class A6 >
SetGet6< A1, A2, A3, A4, A5, A6 >::SetGet6 ( )
inline

Definition at line 812 of file SetGet.h.

813  {;}

Member Function Documentation

template<class A1 , class A2 , class A3 , class A4 , class A5 , class A6 >
static bool SetGet6< A1, A2, A3, A4, A5, A6 >::innerStrSet ( const ObjId dest,
const string &  field,
const string &  val 
)
inlinestatic

Blocking call using string conversion.

Definition at line 848 of file SetGet.h.

References SetGet6< A1, A2, A3, A4, A5, A6 >::set(), and Conv< T >::str2val().

850  {
851  A1 arg1;
852  A2 arg2;
853  A3 arg3;
854  A4 arg4;
855  A5 arg5;
856  A6 arg6;
857  string::size_type pos = val.find_first_of( "," );
858  Conv< A1 >::str2val( arg1, val.substr( 0, pos ) );
859  string temp = val.substr( pos + 1 );
860  pos = temp.find_first_of( "," );
861  Conv< A2 >::str2val( arg2, temp.substr( 0, pos ) );
862  temp = temp.substr( pos + 1 );
863  pos = temp.find_first_of( "," );
864  Conv< A3 >::str2val( arg3, temp.substr( 0, pos ) );
865  temp = temp.substr( pos + 1 );
866  pos = temp.find_first_of( "," );
867  Conv< A4 >::str2val( arg4, temp.substr( 0, pos ) );
868  temp = temp.substr( pos + 1 );
869  pos = temp.find_first_of( "," );
870  Conv< A5 >::str2val( arg5, temp.substr( 0, pos ) );
871  Conv< A6 >::str2val( arg6, temp.substr( pos + 1 ) );
872  return set( dest, field, arg1, arg2, arg3, arg4, arg5, arg6 );
873  }
static bool set(const ObjId &dest, const string &field, A1 arg1, A2 arg2, A3 arg3, A4 arg4, A5 arg5, A6 arg6)
Definition: SetGet.h:818
static void str2val(T &val, const string &s)
Definition: Conv.h:65

+ Here is the call graph for this function:

template<class A1 , class A2 , class A3 , class A4 , class A5 , class A6 >
static bool SetGet6< A1, A2, A3, A4, A5, A6 >::set ( const ObjId dest,
const string &  field,
A1  arg1,
A2  arg2,
A3  arg3,
A4  arg4,
A5  arg5,
A6  arg6 
)
inlinestatic

Blocking, typed 'Set' call

Definition at line 818 of file SetGet.h.

References SetGet::checkSet(), ObjId::eref(), ObjId::isGlobal(), ObjId::isOffNode(), OpFunc6Base< A1, A2, A3, A4, A5, A6 >::makeHopFunc(), MooseSetHop, OpFunc6Base< A1, A2, A3, A4, A5, A6 >::op(), op(), and OpFunc::opIndex().

Referenced by Shell::doAddMsg(), Shell::doCreate(), and SetGet6< A1, A2, A3, A4, A5, A6 >::innerStrSet().

820  {
821  FuncId fid;
822  ObjId tgt( dest );
823  const OpFunc* func = checkSet( field, tgt, fid );
825  dynamic_cast< const OpFunc6Base< A1, A2, A3, A4, A5, A6 >* >( func);
826  if ( op ) {
827  if ( tgt.isOffNode() ) {
828  const OpFunc* op2 = op->makeHopFunc(
829  HopIndex( op->opIndex(), MooseSetHop ) );
831  dynamic_cast< const OpFunc6Base< A1, A2, A3, A4, A5, A6 >* >( op2 );
832  hop->op( tgt.eref(), arg1, arg2, arg3, arg4, arg5, arg6 );
833  delete op2;
834  if ( tgt.isGlobal() )
835  op->op( tgt.eref(), arg1, arg2, arg3, arg4, arg5, arg6 );
836  return true;
837  } else {
838  op->op( tgt.eref(), arg1, arg2, arg3, arg4, arg5, arg6);
839  return true;
840  }
841  }
842  return 0;
843  }
virtual void op(const Eref &e, A1 arg1, A2 arg2, A3 arg3, A4 arg4, A5 arg5, A6 arg6) const =0
static const OpFunc * checkSet(const string &field, ObjId &tgt, FuncId &fid)
Definition: SetGet.cpp:15
static double op(double x)
Definition: ObjId.h:20
const OpFunc * makeHopFunc(HopIndex hopIndex) const
Definition: HopFunc.h:399
const unsigned char MooseSetHop
Definition: OpFuncBase.cpp:13
unsigned int FuncId
Definition: header.h:42
unsigned int opIndex() const
Definition: OpFuncBase.h:66

+ Here is the call graph for this function:

+ Here is the caller graph for this function:


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