NCBI C++ ToolKit
Public Member Functions | Private Types | Private Member Functions | List of all members
CSearch_func Class Reference

Search Toolkit Book for CSearch_func

#include <objects/macro/Search_func.hpp>

+ Inheritance diagram for CSearch_func:
+ Collaboration diagram for CSearch_func:

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_constraintGetString_constraint (void) const
 Get the variant data. More...
 
TString_constraintSetString_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_parenthesesSetN_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_numbersGetPrefix_and_numbers (void) const
 Get the variant data. More...
 
TPrefix_and_numbersSetPrefix_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_longSetToo_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_termGetHas_term (void) const
 Get the variant data. More...
 
THas_termSetHas_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 CTypeInfoGetThisTypeInfo (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 stringGetNamespaceName (void) const
 Get namespace name. More...
 
bool HasNamespacePrefix (void) const
 Check if data type has namespace prefix. More...
 
const stringGetNamespacePrefix (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...
 
CObjectoperator= (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
 

Private Member Functions

 CSearch_func (const CSearch_func &value)
 
CSearch_funcoperator= (const CSearch_func &value)
 
bool x_StringMayContainPlural (const string &str) const
 
bool x_DoesStrContainPlural (const string &word, char last_letter, char second_to_last_letter, char next_letter) const
 
bool x_ContainsNorMoreSetsOfBracketsOrParentheses (const string &str, const int &n) const
 
char x_GetClose (char bp) const
 
bool x_SkipBracketOrParen (size_t idx, string &start) const
 
bool x_ContainsThreeOrMoreNumbersTogether (const string &str) const
 
bool x_FollowedByFamily (string &after_str) const
 
bool x_PrecededByOkPrefix (const string &start_str) const
 
bool x_InWordBeforeCytochromeOrCoenzyme (const string &start_str) const
 
bool x_StringContainsUnderscore (const string &str) const
 
bool x_IsPrefixPlusNumbers (const string &str, const string &prefix) const
 
bool x_StringContainsUnbalancedParentheses (const string &str) const
 
bool x_IsPropClose (const string &str, char open_p) const
 
bool x_ProductContainsTerm (const string &str, const string &pattern) const
 

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< Uint8TCounter
 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...
 

Detailed Description

Definition at line 57 of file Search_func.hpp.

Member Typedef Documentation

◆ Tparent

Definition at line 59 of file Search_func.hpp.

Constructor & Destructor Documentation

◆ CSearch_func() [1/2]

CSearch_func::CSearch_func ( )
inline

Definition at line 61 of file Search_func.hpp.

◆ ~CSearch_func()

CSearch_func::~CSearch_func ( )
inline

Definition at line 62 of file Search_func.hpp.

◆ CSearch_func() [2/2]

CSearch_func::CSearch_func ( const CSearch_func value)
private

Member Function Documentation

◆ Empty()

bool CSearch_func::Empty ( void  ) const

◆ GetRegex()

string CSearch_func::GetRegex ( ) const

◆ Match()

bool CSearch_func::Match ( const CMatchString str) const

◆ operator=()

CSearch_func& CSearch_func::operator= ( const CSearch_func value)
private

◆ x_ContainsNorMoreSetsOfBracketsOrParentheses()

bool CSearch_func::x_ContainsNorMoreSetsOfBracketsOrParentheses ( const string str,
const int n 
) const
private

Definition at line 200 of file Search_func.cpp.

References n, str(), x_GetClose(), and x_SkipBracketOrParen().

Referenced by Match().

◆ x_ContainsThreeOrMoreNumbersTogether()

bool CSearch_func::x_ContainsThreeOrMoreNumbersTogether ( const string str) const
private

◆ x_DoesStrContainPlural()

bool CSearch_func::x_DoesStrContainPlural ( const string word,
char  last_letter,
char  second_to_last_letter,
char  next_letter 
) const
private

Definition at line 65 of file Search_func.cpp.

References len.

Referenced by x_StringMayContainPlural().

◆ x_FollowedByFamily()

bool CSearch_func::x_FollowedByFamily ( string after_str) const
private

◆ x_GetClose()

char CSearch_func::x_GetClose ( char  bp) const
private

◆ x_InWordBeforeCytochromeOrCoenzyme()

bool CSearch_func::x_InWordBeforeCytochromeOrCoenzyme ( const string start_str) const
private

Definition at line 259 of file Search_func.cpp.

References NStr::EndsWith(), NStr::eNocase, and strtmp.

Referenced by x_ContainsThreeOrMoreNumbersTogether().

◆ x_IsPrefixPlusNumbers()

bool CSearch_func::x_IsPrefixPlusNumbers ( const string str,
const string prefix 
) const
private

Definition at line 373 of file Search_func.cpp.

References NStr::EqualCase(), and str().

Referenced by Match().

◆ x_IsPropClose()

bool CSearch_func::x_IsPropClose ( const string str,
char  open_p 
) const
private

Definition at line 390 of file Search_func.cpp.

References str().

Referenced by x_StringContainsUnbalancedParentheses().

◆ x_PrecededByOkPrefix()

bool CSearch_func::x_PrecededByOkPrefix ( const string start_str) const
private

Definition at line 245 of file Search_func.cpp.

References ArraySize(), i, ok_num_prefix, and string.

Referenced by x_ContainsThreeOrMoreNumbersTogether().

◆ x_ProductContainsTerm()

bool CSearch_func::x_ProductContainsTerm ( const string str,
const string pattern 
) const
private

Definition at line 443 of file Search_func.cpp.

References NStr::FindNoCase(), isalpha(), and str().

Referenced by Match().

◆ x_SkipBracketOrParen()

bool CSearch_func::x_SkipBracketOrParen ( size_t  idx,
string start 
) const
private

◆ x_StringContainsUnbalancedParentheses()

bool CSearch_func::x_StringContainsUnbalancedParentheses ( const string str) const
private

Definition at line 398 of file Search_func.cpp.

References kEmptyStr, str(), strtmp, and x_IsPropClose().

Referenced by Match().

◆ x_StringContainsUnderscore()

bool CSearch_func::x_StringContainsUnderscore ( const string str) const
private

◆ x_StringMayContainPlural()

bool CSearch_func::x_StringMayContainPlural ( const string str) const
private

The documentation for this class was generated from the following files:
Modified on Fri Sep 20 14:58:32 2024 by modify_doxy.py rev. 669887