/usr/include/ThePEG/Interface/Command.tcc is in libthepeg-dev 1.8.0-1.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | // -*- C++ -*-
//
// Command.tcc is a part of ThePEG - Toolkit for HEP Event Generation
// Copyright (C) 1999-2011 Leif Lonnblad
//
// ThePEG is licenced under version 2 of the GPL, see COPYING for details.
// Please respect the MCnet academic guidelines, see GUIDELINES for details.
//
//
// This is the implementation of the non-inlined templated member
// functions of the Command class.
//
namespace ThePEG {
template <class T>
string Command<T>::cmd(InterfacedBase & i, string arg) const
{
T * t = dynamic_cast<T *>(&i);
if ( !t ) throw InterExClass(*this, i);
if ( theExeFn ) {
try {
string r = (t->*theExeFn)(arg);
if ( r != "" ) i.touch();
return r;
}
catch (InterfaceException & e) { throw e; }
catch ( ... ) { throw CmdExUnknown(*this, i, arg); }
} else throw InterExSetup(*this, i);
}
}
|