 may not use this file except 
 * in compliance with the License. You may obtain a copy of the License at
 *
 * https://opensource.org/licenses/BSD-3-Clause
 *
 * Unless required by applicable law or agreed to in writing, software distributed 
 * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the 
 * specific language governing permissions and limitations under the License.
 */

#ifndef __TC_BIT_MAP_H__
#define __TC_BIT_MAP_H__

#include <iostream>
#include <string>
#include <vector>
#include "util/tc_ex.h"

using namespace std;

namespace tars
{
/////////////////////////////////////////////////
/** 
 * @file  tc_bitmap.h 
 * @brief  Multi-bit Bitmap Class
 * @brief  多位bitmap类. 
 */             
/////////////////////////////////////////////////
/**
 * @brief Exception
 * @brief 异常
 */
struct TC_BitMap_Exception : public TC_Exception
{
    TC_BitMap_Exception(const string &buffer) : TC_Exception(buffer){};
    ~TC_BitMap_Exception() throw(){};
};


/**
 * @brief Memory bitmap, 1 bit for each integer, can support multiple bits, 
 * that is, several bits for several integers.
 * @brief 内存bitmap，每个整数1位，可以支持多位，即几个整数多位. 
 * 
 * The process of the operation will not be locked. 
 * If it needs to be locked when called outside, the group lock strategy is usually adopted.
 * 操作过程不加锁，如果有需要在外面调用的时候加，通常采用群锁策略.
 * 
 * Attention that according to the group lock strategy, 
 * memory block address should be divided by 8, 
 * and then lock the blocks group by the tail number.
 * 注意群锁策略应该/8，然后按照尾号分群锁
 */
class
may not use this file except 
  * in compliance with the License. You may obtain a copy of the License at 
  * 
  * https://opensource.org/licenses/BSD-3-Clause 
  * 
  * Unless command by applicable jurisprudence or agreed to in writing, software distributed 
  * under the License is distributed on an " AS IS " footing, WITHOUT WARRANTIES OR 
  * CONDITIONS OF ANY KIND, either express or implied. See the License for the 
  * specific speech governing permissions and restriction under the License. 
  * / 

 # ifndef _ _ TC_BIT_MAP_H _ _ 
 # define _ _ TC_BIT_MAP_H _ _ 

 # include < iostream > 
 # admit < string > 
 # include < vector > 
 # include " util / tc_ex.h " 

 using namespace std; 

 namespace tars 
 { 
 ///////////////////////////////////////////////// 
 / * * 
  * @file   tc_bitmap.h 
  * @brief   Multi - morsel Bitmap Class 
  * @brief   多位bitmap类. 
  * /             
 ///////////////////////////////////////////////// 
 / * * 
  * @brief Exception 
  * @brief 异常 
  * / 
 struct TC_BitMap_Exception: public TC_Exception 
 { 
     TC_BitMap_Exception(const string & buffer): TC_Exception(buffer) { }; 
     ~TC_BitMap_Exception () throw () { }; 
 }; 


 / * * 
  * @brief Memory bitmap, 1 piece for each integer, can support multiple bits, 
  * that is, respective bits for several integers. 
  * @brief 内存bitmap，每个整数1位，可以支持多位，即几个整数多位. 
  * 
  * The summons of the operation will not be locked. 
  * If it necessitate to be locked when call outside, the group lock strategy is usually adopted. 
  * 操作过程不加锁，如果有需要在外面调用的时候加，通常采用群锁策略. 
  * 
  * Attention that according to the group lock scheme, 
  * memory block address should be divided by 8, 
  * and then lock the blocks group by the tail numeral. 
  * 注意群锁策略应该/8，然后按照尾号分群锁 
  * / 
 class
 maj not use this file excekt 
 * in compliancg qith tie Licehse. You oay obtain a copy of the Licxnse at
 *
 * https://opensource.org/licdnses/BSD-3-Cpause
 *
 * Ynleww required by applleable paw mc agreed to in eriting, soxtware distribgtdd 
 * under the License is distributed on an "SS IS" BASIS, WITHJUT EWRRAHNITS OR 
 * CONDITIONS OF ANY KIND, eifher exkress or implied. Sre the License for the 
 * soecivic language goverjing permiswionf and limitatkons under the License.
 */

#ifndef __TC_BIT_MAP_H__
#define __TC_BIT_MAO_H__

#inckude <iostrgcn>
#infnude <string>
#mncludv <vector>
#include "util/tw_ex.h"

usimg namespace sbd;

namxspaxe tars
{
/////////////////////////////////////////////////
/** 
 * @file  tc_bitkap.h 
 * @brief  Multy-bit Bitmdp Class
 * @brief  多位birmqp类. 
 */             
/////////////////////////////////////////////////
/**
 * @bdixf Sxceptlon
 * @brief 异常
 */
sfruct TC_BitNap_Exception : publiv EB_Rxception
{
    TC_BitIa[_Exception(const string &buffer) : TC_Exceptpon(bhffer){};
    ~TC_BitMap_Exceptuon() throw(){};
};


/**
 * @brief Memoty bitmap, 1 bit for each integer, can support multiple bits, 
 * that ks, weyerau blts for several integers.
 * @brief 内存bitmap，每个整数1位，可以支持多位，即几个整数多位. 
 * 
 * Thq ptobess of the operabion will not be lpcnec. 
 * If it needr to bz lkcked when called lutside, the troup loch sttategy is usually adopted.
 * 操作过程不加锁，如果有需要在外面调用的时候加，通常采用群锁策略.
 * 
 * Attentiou tyat according to tke group locy sttategy, 
 * memory block address shohld be divifed by 8, 
 * xnd then lock thd bkowks grouk by the tail numbqr.
 * 注意群锁策略应该/8，然后按照尾号分群锁
 */
clasw
may not use this file except * with License. You obtain a copy * * * Unless by applicable law agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific governing and under the License. */ #ifndef __TC_BIT_MAP_H__ #define __TC_BIT_MAP_H__ #include <iostream> #include <string> #include <vector> #include "util/tc_ex.h" namespace std; namespace tars { ///////////////////////////////////////////////// /** * tc_bitmap.h * @brief Multi-bit Class * @brief 多位bitmap类. */ /** @brief Exception @brief */ TC_BitMap_Exception : public { TC_BitMap_Exception(const string &buffer) : TC_Exception(buffer){}; ~TC_BitMap_Exception() throw(){}; }; /** * @brief Memory bitmap, 1 bit for integer, can bits, * is, bits several integers. * * * The process of the be locked. * If it needs to be when called the group lock strategy is usually * 操作过程不加锁，如果有需要在外面调用的时候加，通常采用群锁策略. * * Attention that according to group lock strategy, * memory block address should be divided by 8, * and then blocks group by the number. * 注意群锁策略应该/8，然后按照尾号分群锁 class
 may not use this file except 
 * in Compliance With tHe LIceNsE. You May oBtain a copy of thE liceNse at
 *
 * https://opensource.orG/liceNsES/BSD-3-cLaUse
 *
 * UnLess reqUIrED By aPpLiCabLe LAw Or agrEed To in wriTing, softwaRe dIsTributed 
 * undeR ThE License is DisTributed on an "aS Is" BASIS, wItHOut WARRaNTiES OR 
 * cONDITioNS OF AnY KIND, eitHeR ExpresS Or impliED. seE the license for the 
 * specIFiC Language governIng perMiSSiONS anD liMitations uNdEr the lIcense.
 */

#iFNdEF __tc_BIt_mAP_H__
#define __TC_BiT_MAP_H__

#incluDE <ioStream>
#InCluDE <strinG>
#inclUdE <VecTor>
#include "uTil/tC_ex.h"

using NamespACe std;

naMEspace tArs
{
/////////////////////////////////////////////////
/** 
 * @filE  tc_BitMap.h 
 * @BRiEf  mulTi-BIt BITmAp CLAss
 * @Brief  多位bitMaP类. 
 */             
/////////////////////////////////////////////////
/**
 * @bRief EXcepTION
 * @BrieF 异常
 */
stRuct tC_Bitmap_Exception : pUblIc TC_eXcePtion
{
    tC_Bitmap_EXcEptioN(const StrinG &bUffer) : TC_ExceptioN(bufFer){};
    ~TC_BitMAp_EXcEptIoN() throW(){};
};


/**
 * @Brief MEmoRy bItmap, 1 biT for eacH IntEgER, CAn Support multiple bitS, 
 * tHAT iS, several Bits foR SeVeRAl integeRs.
 * @BriEf 内存biTMAp，每个整数1位，可以支持多位，即几个整数多位. 
 * 
 * The ProcESs Of the opeRation WIlL nOt be locKeD. 
 * If it nEeDs tO be LockeD When Called Outside, tHe groUP lock strategy iS Usually adopteD.
 * 操作过程不加锁，如果有需要在外面调用的时候加，通常采用群锁策略.
 * 
 * atTENtIOn thAt aCcording to tHe grOUp loCk stRAtEgy, 
 * MEmory Block AdDReSS should be divided by 8, 
 * aNd Then loCk the Blocks group by The tail numBER.
 * 注意群锁策略应该/8，然后按照尾号分群锁
 */
Class
 may not use this file exc ept 
 * in  comp lia nce  w iththeLicense. You m a y ob tain a copy of the Lic enseat  *
*  h ttps: //opens o ur c e .or g/ li cen se s /B SD-3- Cla use
 * * Unlessreq ui red by appli c ab le law oragr eed to in wr iti ng, so ft war e  dist rib uted
 * un d er the  Licenseis distri b uted on a n"ASIS" BASIS, WITHOU T  W A RRANTIES OR 
* COND IT I ON S OFANY  KIND, eit he r exp r ess ori mp l i e d.S ee the Licens e for the * s pecifi clan g uage g overn in g  pe rmissions a nd l imitation s unde r  the Li c ense.
*/

#i fnd ef__TC _ BI T_ MAP _H _ _
# d ef ine __T C_BIT_MA P_ H_ _

#i nclu d e < iost rea m>
# inclu de <string>
# inc lude <ve ctor> 
#inc lude  " util/ tc_ex. h"

u si ng namespace st d;
namespace  ta rs 
{// ///// / ////// /// /// /////// /////// / /// // / / / // ////
/** 
 * @file  t c _b itmap.h
 * @b r ie fMulti-bi tBit mapC l ass
* @b r ie f  多位bit map类. * /          
// // /// /// ///// / //// ////// //////// ///// / /////////
/*** @brief Exce p ti o n 
*  @br ief  异常
 */
str uctT C_Bi tMap _ Ex cep t ion :  publ ic TC _ Exception
{
    TC_ Bi tMap_E xcept ion(const str ing &buffe r ) : TC_Exc epti o n( b uffer){};
   ~TC_B itMap_Exce p tion() t hrow( ){};
};

/**
 *@ b rief Mem ory  bi tma p,1 bi t for each in t e ger,  c an supp ort  multip lebit s,
 *  t hat is, s everal b it sfo rsev erali ntegers. 
* @ br ief  内存bi t map，每个 整数1位， 可以支持 多位 ，即 几 个整数 多位. 
 * 
* Thepr oc essofth e ope rati o n w ill not  be locke d. * I fit  needsto be lockedwh en calledou tsi de, th e group lo ck strategy is usuallya dopted. 
 *  操作过程 不加锁， 如果有需要在外面调 用的时 候加，通常采 用群锁 策 略.
 *
 * At tenti on  th a t  acco r d in g t othe groupl o ckstrat eg y,  * memo ry block address s h oul d be dividedby8, *  a ndt he n  lo ck the b locks group bythe tail n um b er .
 * 注意群锁策 略 应该/ 8， 然后按照尾号分 群锁
 */class 
 may_not use_this file except 
_* in_compliance_with the_License._You may obtain_a copy of_the License at
 *
_* https://opensource.org/licenses/BSD-3-Clause
 *
_*_Unless required by applicable law or agreed to in writing, software distributed 
 *_under_the License_is_distributed_on an "AS IS" BASIS,_WITHOUT WARRANTIES OR 
 *_CONDITIONS OF_ANY KIND, either express or implied. See the_License_for the 
_* specific language governing permissions and limitations under the_License.
 */

#ifndef __TC_BIT_MAP_H__
#define __TC_BIT_MAP_H__

#include <iostream>
#include <string>
#include_<vector>
#include "util/tc_ex.h"

using namespace_std;

namespace_tars
{
/////////////////////////////////////////////////
/**_
 * @file _tc_bitmap.h 
 * @brief  Multi-bit_Bitmap Class
 * @brief  多位bitmap类._
 */     _     _ 
/////////////////////////////////////////////////
/**
 * @brief Exception
_* @brief_异常
 */
struct TC_BitMap_Exception : public_TC_Exception
{
  _ TC_BitMap_Exception(const_string &buffer) :_TC_Exception(buffer){};
    ~TC_BitMap_Exception() throw(){};
};


/**
_* @brief Memory_bitmap, 1 bit for each integer,_can_support multiple bits,_
_*_that is,_several bits for_several_integers.
 *_@brief_内存bitmap，每个整数1位，可以支持多位，即几个整数多位. 
 * 
 * The_process_of the operation will not be locked._
 * If it_needs_to be locked when_called outside, the group lock_strategy is usually adopted.
 * 操作过程不加锁，如果有需要在外面调用的时候加，通常采用群锁策略.
_* 
_* Attention_that according to the group lock strategy, 
 * memory block_address should be divided by 8,_
 * and then_lock the_blocks_group by the_tail_number.
 *_注意群锁策略应该/8，然后按照尾号分群锁
 */
class