Fix reading Time zone rules using Julian days (#17672)
[platform/upstream/coreclr.git] / src / jit / bitvec.h
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.
4
5 //
6 // This include file determines how BitVec is implemented.
7 //
8 #ifndef _BITVEC_INCLUDED_
9 #define _BITVEC_INCLUDED_ 1
10
11 // This class simplifies creation and usage of "ShortLong" bitsets.
12 //
13 // Create new bitsets like so:
14 //
15 //   BitVecTraits traits(size, pCompiler);
16 //   BitVec bitvec = BitVecOps::MakeEmpty(&traits);
17 //
18 // and call functions like so:
19 //
20 //   BitVecOps::AddElemD(&traits, bitvec, 10);
21 //   BitVecOps::IsMember(&traits, bitvec, 10));
22 //
23
24 #include "bitset.h"
25 #include "compilerbitsettraits.h"
26 #include "bitsetasshortlong.h"
27
28 typedef BitSetOps</*BitSetType*/ BitSetShortLongRep,
29                   /*Brand*/ BSShortLong,
30                   /*Env*/ BitVecTraits*,
31                   /*BitSetTraits*/ BitVecTraits>
32     BitVecOps;
33
34 typedef BitSetShortLongRep BitVec;
35
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;
39
40 #endif // _BITVEC_INCLUDED_