NCBI C++ ToolKit
|
Search Toolkit Book for CSearch_func
#include <objects/macro/Search_func.hpp>
Public Member Functions | |
CSearch_func () | |
~CSearch_func () | |
bool | Empty () const |
bool | Match (const CMatchString &str) const |
string | GetRegex () const |
Public Member Functions inherited from CSearch_func_Base | |
CSearch_func_Base (void) | |
virtual | ~CSearch_func_Base (void) |
DECLARE_INTERNAL_TYPE_INFO () | |
virtual void | Reset (void) |
Reset the whole object. More... | |
virtual void | ResetSelection (void) |
Reset the selection (set it to e_not_set). More... | |
E_Choice | Which (void) const |
Which variant is currently selected. More... | |
void | CheckSelected (E_Choice index) const |
Verify selection, throw exception if it differs from the expected. More... | |
void | ThrowInvalidSelection (E_Choice index) const |
Throw 'InvalidSelection' exception. More... | |
void | Select (E_Choice index, EResetVariant reset=eDoResetVariant) |
Select the requested variant if needed. More... | |
void | Select (E_Choice index, EResetVariant reset, CObjectMemoryPool *pool) |
Select the requested variant if needed, allocating CObject variants from memory pool. More... | |
bool | IsString_constraint (void) const |
Check if variant String_constraint is selected. More... | |
const TString_constraint & | GetString_constraint (void) const |
Get the variant data. More... | |
TString_constraint & | SetString_constraint (void) |
Select the variant. More... | |
void | SetString_constraint (TString_constraint &value) |
Select the variant and set its data. More... | |
bool | IsContains_plural (void) const |
Check if variant Contains_plural is selected. More... | |
void | SetContains_plural (void) |
Select the variant. More... | |
bool | IsN_or_more_brackets_or_parentheses (void) const |
Check if variant N_or_more_brackets_or_parentheses is selected. More... | |
TN_or_more_brackets_or_parentheses | GetN_or_more_brackets_or_parentheses (void) const |
Get the variant data. More... | |
TN_or_more_brackets_or_parentheses & | SetN_or_more_brackets_or_parentheses (void) |
Select the variant. More... | |
void | SetN_or_more_brackets_or_parentheses (TN_or_more_brackets_or_parentheses value) |
Select the variant and set its data. More... | |
bool | IsThree_numbers (void) const |
Check if variant Three_numbers is selected. More... | |
void | SetThree_numbers (void) |
Select the variant. More... | |
bool | IsUnderscore (void) const |
Check if variant Underscore is selected. More... | |
void | SetUnderscore (void) |
Select the variant. More... | |
bool | IsPrefix_and_numbers (void) const |
Check if variant Prefix_and_numbers is selected. More... | |
const TPrefix_and_numbers & | GetPrefix_and_numbers (void) const |
Get the variant data. More... | |
TPrefix_and_numbers & | SetPrefix_and_numbers (void) |
Select the variant. More... | |
void | SetPrefix_and_numbers (const TPrefix_and_numbers &value) |
Select the variant and set its data. More... | |
bool | IsAll_caps (void) const |
Check if variant All_caps is selected. More... | |
void | SetAll_caps (void) |
Select the variant. More... | |
bool | IsUnbalanced_paren (void) const |
Check if variant Unbalanced_paren is selected. More... | |
void | SetUnbalanced_paren (void) |
Select the variant. More... | |
bool | IsToo_long (void) const |
Check if variant Too_long is selected. More... | |
TToo_long | GetToo_long (void) const |
Get the variant data. More... | |
TToo_long & | SetToo_long (void) |
Select the variant. More... | |
void | SetToo_long (TToo_long value) |
Select the variant and set its data. More... | |
bool | IsHas_term (void) const |
Check if variant Has_term is selected. More... | |
const THas_term & | GetHas_term (void) const |
Get the variant data. More... | |
THas_term & | SetHas_term (void) |
Select the variant. More... | |
void | SetHas_term (const THas_term &value) |
Select the variant and set its data. More... | |
Public Member Functions inherited from CSerialObject | |
CSerialObject (void) | |
virtual | ~CSerialObject (void) |
virtual const CTypeInfo * | GetThisTypeInfo (void) const =0 |
virtual void | Assign (const CSerialObject &source, ESerialRecursionMode how=eRecursive) |
Set object to copy of another one. More... | |
virtual bool | Equals (const CSerialObject &object, ESerialRecursionMode how=eRecursive) const |
Check if both objects contain the same values. More... | |
virtual void | DebugDump (CDebugDumpContext ddc, unsigned int depth) const |
Define method for dumping debug information. More... | |
void | ThrowUnassigned (TMemberIndex index) const |
void | ThrowUnassigned (TMemberIndex index, const char *file_name, int file_line) const |
bool | HasNamespaceName (void) const |
Check if object data type has namespace name. More... | |
const string & | GetNamespaceName (void) const |
Get namespace name. More... | |
bool | HasNamespacePrefix (void) const |
Check if data type has namespace prefix. More... | |
const string & | GetNamespacePrefix (void) const |
Get namespace prefix. More... | |
Public Member Functions inherited from CObject | |
CObject (void) | |
Constructor. More... | |
CObject (const CObject &src) | |
Copy constructor. More... | |
virtual | ~CObject (void) |
Destructor. More... | |
CObject & | operator= (const CObject &src) THROWS_NONE |
Assignment operator. More... | |
bool | CanBeDeleted (void) const THROWS_NONE |
Check if object can be deleted. More... | |
bool | IsAllocatedInPool (void) const THROWS_NONE |
Check if object is allocated in memory pool (not system heap) More... | |
bool | Referenced (void) const THROWS_NONE |
Check if object is referenced. More... | |
bool | ReferencedOnlyOnce (void) const THROWS_NONE |
Check if object is referenced only once. More... | |
void | AddReference (void) const |
Add reference to object. More... | |
void | RemoveReference (void) const |
Remove reference to object. More... | |
void | ReleaseReference (void) const |
Remove reference without deleting object. More... | |
virtual void | DoNotDeleteThisObject (void) |
Mark this object as not allocated in heap – do not delete this object. More... | |
virtual void | DoDeleteThisObject (void) |
Mark this object as allocated in heap – object can be deleted. More... | |
void * | operator new (size_t size) |
Define new operator for memory allocation. More... | |
void * | operator new[] (size_t size) |
Define new[] operator for 'array' memory allocation. More... | |
void | operator delete (void *ptr) |
Define delete operator for memory deallocation. More... | |
void | operator delete[] (void *ptr) |
Define delete[] operator for memory deallocation. More... | |
void * | operator new (size_t size, void *place) |
Define new operator. More... | |
void | operator delete (void *ptr, void *place) |
Define delete operator. More... | |
void * | operator new (size_t size, CObjectMemoryPool *place) |
Define new operator using memory pool. More... | |
void | operator delete (void *ptr, CObjectMemoryPool *place) |
Define delete operator. More... | |
Public Member Functions inherited from CDebugDumpable | |
CDebugDumpable (void) | |
virtual | ~CDebugDumpable (void) |
void | DebugDumpText (ostream &out, const string &bundle, unsigned int depth) const |
void | DebugDumpFormat (CDebugDumpFormatter &ddf, const string &bundle, unsigned int depth) const |
void | DumpToConsole (void) const |
Private Types | |
typedef CSearch_func_Base | Tparent |
Additional Inherited Members | |
Public Types inherited from CSearch_func_Base | |
enum | E_Choice { e_not_set = 0 , e_String_constraint , e_Contains_plural , e_N_or_more_brackets_or_parentheses , e_Three_numbers , e_Underscore , e_Prefix_and_numbers , e_All_caps , e_Unbalanced_paren , e_Too_long , e_Has_term } |
Choice variants. More... | |
enum | E_ChoiceStopper { e_MaxChoice = 11 } |
Maximum+1 value of the choice variant enumerator. More... | |
typedef CString_constraint | TString_constraint |
typedef int | TN_or_more_brackets_or_parentheses |
typedef string | TPrefix_and_numbers |
typedef int | TToo_long |
typedef string | THas_term |
Public Types inherited from CObject | |
enum | EAllocFillMode { eAllocFillNone = 1 , eAllocFillZero , eAllocFillPattern } |
Control filling of newly allocated memory. More... | |
typedef CObjectCounterLocker | TLockerType |
Default locker type for CRef. More... | |
typedef atomic< Uint8 > | TCounter |
Counter type is CAtomiCounter. More... | |
typedef Uint8 | TCount |
Alias for value type of counter. More... | |
Static Public Member Functions inherited from CSearch_func_Base | |
static string | SelectionName (E_Choice index) |
Retrieve selection name (for diagnostic purposes). More... | |
Static Public Member Functions inherited from CSerialObject | |
static void | SetVerifyDataThread (ESerialVerifyData verify) |
static void | SetVerifyDataGlobal (ESerialVerifyData verify) |
static string | UnassignedString (void) |
static CStringUTF8 | UnassignedStringUTF8 (void) |
static char | UnassignedByte (void) |
Static Public Member Functions inherited from CObject | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (void) |
Define method to throw null pointer exception. More... | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (const type_info &type) |
static EAllocFillMode | GetAllocFillMode (void) |
static void | SetAllocFillMode (EAllocFillMode mode) |
static void | SetAllocFillMode (const string &value) |
Set mode from configuration parameter value. More... | |
Static Public Member Functions inherited from CDebugDumpable | |
static void | EnableDebugDump (bool on) |
Static Public Attributes inherited from CSerialObject | |
static const char * | ms_UnassignedStr = "<*unassigned*>" |
static const char | ms_UnassignedByte = char(0xcd) |
Static Public Attributes inherited from CObject | |
static const TCount | eCounterBitsCanBeDeleted = 1 << 0 |
Define possible object states. More... | |
static const TCount | eCounterBitsInPlainHeap = 1 << 1 |
Heap signature was found. More... | |
static const TCount | eCounterBitsPlaceMask |
Mask for 'in heap' state flags. More... | |
static const int | eCounterStep = 1 << 2 |
Skip over the "in heap" bits. More... | |
static const TCount | eCounterValid = TCount(1) << (sizeof(TCount) * 8 - 2) |
Minimal value for valid objects (reference counter is zero) Must be a single bit value. More... | |
static const TCount | eCounterStateMask |
Valid object, and object in heap. More... | |
Protected Member Functions inherited from CObject | |
virtual void | DeleteThis (void) |
Virtual method "deleting" this object. More... | |
Definition at line 57 of file Search_func.hpp.
|
private |
Definition at line 59 of file Search_func.hpp.
|
inline |
Definition at line 61 of file Search_func.hpp.
|
inline |
Definition at line 62 of file Search_func.hpp.
|
private |
bool CSearch_func::Empty | ( | void | ) | const |
Definition at line 52 of file Search_func.cpp.
References CSearch_func_Base::e_Prefix_and_numbers, CSearch_func_Base::e_String_constraint, CString_constraint::Empty(), ctll::empty(), CSearch_func_Base::GetPrefix_and_numbers(), CSearch_func_Base::GetString_constraint(), and CSearch_func_Base::Which().
Referenced by CSuspect_rule::StringMatchesSuspectProductRule().
string CSearch_func::GetRegex | ( | ) | const |
Definition at line 504 of file Search_func.cpp.
References CSearch_func_Base::e_All_caps, CSearch_func_Base::e_Contains_plural, CSearch_func_Base::e_Prefix_and_numbers, CSearch_func_Base::e_String_constraint, CSearch_func_Base::e_Three_numbers, CSearch_func_Base::e_Too_long, CSearch_func_Base::e_Unbalanced_paren, CSearch_func_Base::e_Underscore, eUnknown, CWord_substitution_set_Base::Get(), CString_constraint_Base::GetIgnore_words(), CString_constraint_Base::GetMatch_text(), CString_constraint_Base::GetNot_present(), CSearch_func_Base::GetPrefix_and_numbers(), CSearch_func_Base::GetString_constraint(), NStr::IntToString(), CWord_substitution_set_Base::IsSet(), CString_constraint_Base::IsSetIgnore_words(), CString_constraint_Base::IsSetMatch_text(), NCBI_THROW, CMultipatternSearch::QuoteString(), str(), and CSearch_func_Base::Which().
Referenced by CSuspect_rule_set::Screen().
bool CSearch_func::Match | ( | const CMatchString & | str | ) | const |
Definition at line 460 of file Search_func.cpp.
References CSearch_func_Base::e_All_caps, CSearch_func_Base::e_Contains_plural, CSearch_func_Base::e_Has_term, CSearch_func_Base::e_N_or_more_brackets_or_parentheses, CSearch_func_Base::e_Prefix_and_numbers, CSearch_func_Base::e_String_constraint, CSearch_func_Base::e_Three_numbers, CSearch_func_Base::e_Too_long, CSearch_func_Base::e_Unbalanced_paren, CSearch_func_Base::e_Underscore, NStr::FindNoCase(), CSearch_func_Base::GetHas_term(), CSearch_func_Base::GetN_or_more_brackets_or_parentheses(), CSearch_func_Base::GetPrefix_and_numbers(), CSearch_func_Base::GetString_constraint(), CSearch_func_Base::GetToo_long(), CString_constraint::Match(), orig, str(), CSearch_func_Base::Which(), x_ContainsNorMoreSetsOfBracketsOrParentheses(), x_ContainsThreeOrMoreNumbersTogether(), x_IsPrefixPlusNumbers(), x_ProductContainsTerm(), x_StringContainsUnbalancedParentheses(), x_StringContainsUnderscore(), and x_StringMayContainPlural().
Referenced by BOOST_AUTO_TEST_CASE(), and CSuspect_rule::StringMatchesSuspectProductRule().
|
private |
|
private |
Definition at line 200 of file Search_func.cpp.
References n, str(), x_GetClose(), and x_SkipBracketOrParen().
Referenced by Match().
Definition at line 298 of file Search_func.cpp.
References isdigit(), str(), strtmp, x_FollowedByFamily(), x_InWordBeforeCytochromeOrCoenzyme(), and x_PrecededByOkPrefix().
Referenced by Match().
|
private |
Definition at line 65 of file Search_func.cpp.
References len.
Referenced by x_StringMayContainPlural().
Definition at line 279 of file Search_func.cpp.
References NStr::EqualNocase().
Referenced by x_ContainsThreeOrMoreNumbersTogether(), and x_StringContainsUnderscore().
|
private |
Definition at line 137 of file Search_func.cpp.
Referenced by x_ContainsNorMoreSetsOfBracketsOrParentheses(), and x_SkipBracketOrParen().
Definition at line 259 of file Search_func.cpp.
References NStr::EndsWith(), NStr::eNocase, and strtmp.
Referenced by x_ContainsThreeOrMoreNumbersTogether().
|
private |
Definition at line 373 of file Search_func.cpp.
References NStr::EqualCase(), and str().
Referenced by Match().
Definition at line 390 of file Search_func.cpp.
References str().
Referenced by x_StringContainsUnbalancedParentheses().
Definition at line 245 of file Search_func.cpp.
References ArraySize(), i, ok_num_prefix, and string.
Referenced by x_ContainsThreeOrMoreNumbersTogether().
|
private |
Definition at line 443 of file Search_func.cpp.
References NStr::FindNoCase(), isalpha(), and str().
Referenced by Match().
Definition at line 162 of file Search_func.cpp.
References ArraySize(), i, len, skip_bracket_paren, and x_GetClose().
Referenced by x_ContainsNorMoreSetsOfBracketsOrParentheses().
Definition at line 398 of file Search_func.cpp.
References kEmptyStr, str(), strtmp, and x_IsPropClose().
Referenced by Match().
Definition at line 342 of file Search_func.cpp.
References arr, i, isdigit(), ncbi::grid::netcache::search::fields::size, NStr::Split(), str(), strtmp, and x_FollowedByFamily().
Referenced by Match().
Definition at line 86 of file Search_func.cpp.
References arr, NStr::eTrunc_Begin, NStr::fSplit_Tokenize, ITERATE, len, NStr::Split(), str(), strtmp, NStr::TruncateSpaces(), and x_DoesStrContainPlural().
Referenced by Match().