1 // Licensed to the .NET Foundation under one or more agreements.
2 // The .NET Foundation licenses this file to you under the MIT license.
3 // See the LICENSE file in the project root for more information.
6 // This include file determines how BitVec is implemented.
8 #ifndef _BITVEC_INCLUDED_
9 #define _BITVEC_INCLUDED_ 1
11 // This class simplifies creation and usage of "ShortLong" bitsets.
13 // Create new bitsets like so:
15 // BitVecTraits traits(size, pCompiler);
16 // BitVec bitvec = BitVecOps::MakeEmpty(&traits);
18 // and call functions like so:
20 // BitVecOps::AddElemD(&traits, bitvec, 10);
21 // BitVecOps::IsMember(&traits, bitvec, 10));
25 #include "compilerbitsettraits.h"
26 #include "bitsetasshortlong.h"
28 typedef BitSetOps</*BitSetType*/ BitSetShortLongRep,
29 /*Brand*/ BSShortLong,
30 /*Env*/ BitVecTraits*,
31 /*BitSetTraits*/ BitVecTraits>
34 typedef BitSetShortLongRep BitVec;
36 // These types should be used as the types for BitVec arguments and return values, respectively.
37 typedef BitVecOps::ValArgType BitVec_ValArg_T;
38 typedef BitVecOps::RetValType BitVec_ValRet_T;
40 #endif // _BITVEC_INCLUDED_