34 #ifndef ALGO_BLAST_BLASTINPUT__BLAST_INPUT_AUX__HPP
35 #define ALGO_BLAST_BLASTINPUT__BLAST_INPUT_AUX__HPP
55 : m_FileName(
file_name), m_Version(use_versions ? 1 : 0) {}
79 static constexpr
Uint4 kDfltMaxLength = 256;
87 return fname.
GetName().size() < m_MaxLength;
156 : m_MinValue(
min), m_MaxValue(
max), m_Inclusive(inclusive) {}
159 : m_MinValue(
min), m_MaxValue(
max), m_Inclusive(inclusive) {}
166 if ( !m_Inclusive ) {
167 retval = (
val > m_MinValue &&
val < m_MaxValue);
169 retval = (
val >= m_MinValue &&
val <= m_MaxValue);
177 if ( !m_Inclusive ) {
201 #define DEFINE_CARGALLOW_SET_CLASS(ClassName, DataType, String2DataTypeFn) \
202 class NCBI_BLASTINPUT_EXPORT ClassName : public CArgAllow \
205 ClassName(const set<DataType>& values) \
206 : m_AllowedValues(values) \
208 if (values.empty()) { \
209 throw runtime_error("Allowed values set must not be empty"); \
214 virtual bool Verify(const string& value) const { \
215 DataType value2check = String2DataTypeFn(value); \
216 ITERATE(set<DataType>, itr, m_AllowedValues) { \
217 if (*itr == value2check) { \
224 virtual string GetUsage(void) const { \
225 CNcbiOstrstream os; \
226 os << "Permissible values: "; \
227 ITERATE(set<DataType>, itr, m_AllowedValues) { \
228 os << "'" << *itr << "' "; \
230 return CNcbiOstrstreamToString(os); \
235 set<DataType> m_AllowedValues; \
238 #ifndef SKIP_DOXYGEN_PROCESSING
284 bool use_default =
true,
string task =
"",
bool mt_mode =
false);
304 bool use_lcase_masking,
306 bool gaps_to_Ns =
false);
EProgram
This enumeration is to evolve into a task/program specific list that specifies sets of default parame...
Class to constrain the length of the file name passed to a given CArgDescriptions key.
virtual bool Verify(const string &value) const
Overloaded method from CArgAllow.
virtual string GetUsage(void) const
Overloaded method from CArgAllow.
Uint4 m_MaxLength
Maximum string length value for this object.
CArgAllowMaximumFileNameLength(Uint4 max=kDfltMaxLength)
Class to constrain the values of an argument to those in between the values specified in the construc...
double m_MaxValue
Maximum value for this object.
CArgAllowValuesBetween(int min, int max, bool inclusive=false)
Constructor taking an integer.
bool m_Inclusive
Whether the values above should be included or not.
CArgAllowValuesBetween(double min, double max, bool inclusive=false)
Constructor taking a double.
double m_MinValue
Minimum value for this object.
virtual string GetUsage(void) const
Overloaded method from CArgAllow.
virtual bool Verify(const string &value) const
Overloaded method from CArgAllow.
Class to constrain the values of an argument to those greater than or equal to the value specified in...
virtual bool Verify(const string &value) const
Overloaded method from CArgAllow.
double m_MinValue
Minimum value for this object.
virtual string GetUsage(void) const
Overloaded method from CArgAllow.
CArgAllowValuesGreaterThanOrEqual(int min)
Constructor taking an integer.
CArgAllowValuesGreaterThanOrEqual(double min)
Constructor taking a double.
Class to constrain the values of an argument to those less than or equal to the value specified in th...
double m_MaxValue
Maximum value for this object.
CArgAllowValuesLessThanOrEqual(double max)
Constructor taking a double.
virtual string GetUsage(void) const
Overloaded method from CArgAllow.
CArgAllowValuesLessThanOrEqual(int max)
Constructor taking an integer.
virtual bool Verify(const string &value) const
Overloaded method from CArgAllow.
Auxiliary class to store the name of an output file, which is reset every time its GetStream method i...
CAutoOutputFileReset & operator=(const CAutoOutputFileReset &rhs)
Prohibit assignment operator.
CAutoOutputFileReset(const CAutoOutputFileReset &rhs)
Prohibit copy constructor.
unique_ptr< CNcbiOstream > m_FileStream
The output stream.
string m_FileName
The file's name.
int m_Version
File version if larger than zero.
CAutoOutputFileReset(const string &file_name, bool use_versions=false)
Constructor.
unsigned int TSeqPos
Type for sequence locations and lengths.
string GetName(void) const
Get the base entry name with extension (if any).
uint32_t Uint4
4-byte (32-bit) unsigned integer
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define BEGIN_SCOPE(ns)
Define a new scope.
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
IO_PREFIX::istream CNcbiIstream
Portable alias for istream.
static string DoubleToString(double value, int precision=-1, TNumToStringFlags flags=0)
Convert double to string.
static int StringToInt(const CTempString str, TStringToNumFlags flags=0, int base=10)
Convert string to int.
static double StringToDouble(const CTempStringEx str, TStringToNumFlags flags=0)
Convert string to double.
static string IntToString(int value, TNumToStringFlags flags=0, int base=10)
Convert int to string.
#define NCBI_BLASTINPUT_EXPORT
range(_Ty, _Ty) -> range< _Ty >
const GenericPointer< typename T::ValueType > T2 value
Defines command line argument related classes.
std::istream & in(std::istream &in_, double &x_)
Definition of SSeqLoc structure.
vector< SSeqLoc > TSeqLocVector
Vector of sequence locations.