C++ Primer, Fifth Edition
Click here to view code image
// bitvec1 is smaller than the initializer; high-order bits from the initializer are
discarded
bitset<13> bitvec1 (0xbeef);  // bits are 1111011101111
// bitvec2 is larger than the initializer; high-order bits in bitvec2 are set to zero
bitset<20> bitvec2(0xbeef);  // bits are 00001011111011101111
// on machines with 64-bit long long 0ULL is 64 bits of 0, so ~0ULL  is 64 ones
bitset<128> bitvec3(~0ULL); // bits 0 ... 63 are one; 63 ... 127 are zero
Initializing a 
bitset
from a 
string
We can initialize a bitset from either a string or a pointer to an element in a
character array. In either case, the characters represent the bit pattern directly. As
usual, when we use strings to represent numbers, the characters with the lowest
indices in the string correspond to the high-order bits, and vice versa:
Click here to view code image
bitset<32> bitvec4("1100"); // bits 2 and 3 are 1, all others are 0
If the string contains fewer characters than the size of the bitset, the high-order
bits are set to zero.
Note
The indexing conventions of strings and bitsets are inversely related:
The character in the string with the highest subscript (the rightmost
character) is used to initialize the low-order bit in the bitset (the bit with
subscript 0). When you initialize a bitset from a string, it is essential to
remember this difference.
We need not use the entire string as the initial value for the bitset. Instead, we
can use a substring as the initializer:
Click here to view code image
string str("1111111000000011001101");
bitset<32> bitvec5(str, 5, 4); // four bits starting at str[5], 1100
bitset<32> bitvec6(str, str.size()-4); // use last four characters
Here bitvec5 is initialized by the substring in str starting at str[5] and continuing
for four positions. As usual, the right-most character of the substring represents the
lowest-order bit. Thus, bitvec5 is initialized with bit positions 3 through 0 set to
1100 and the remaining bits set to 0. The initializer for bitvec6 passes a string
www.it-ebooks.info
Convert pdf to powerpoint with - C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF in C#.net, ASP.NET MVC, WinForms, WPF
Online C# Tutorial for Creating PDF from Microsoft PowerPoint Presentation
converting pdf to powerpoint; converting pdf to ppt
Convert pdf to powerpoint with - VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to PDF in vb.net, ASP.NET MVC, WinForms, WPF
VB.NET Tutorial for Export PDF file from Microsoft Office PowerPoint
pdf to ppt; how to add pdf to powerpoint
C++ Primer, Fifth Edition
and a starting point, so bitvec6 is initialized from the characters in str starting four
from the end of str. The remainder of the bits in bitvec6 are initialized to zero. We
can view these initializations as
Exercises Section 17.2.1
Exercise 17.9: Explain the bit pattern each of the following bitset objects
contains:
(a) bitset<64> bitvec(32);
(b) bitset<32> bv(1010101);
(c) string bstr; cin >> bstr; bitset<8>bv(bstr);
17.2.2. Operations on bitsets
The bitset operations (Table 17.3 (overleaf)) define various ways to test or set one
or more bits. The bitset class also supports the bitwise operators that we covered in
§ 4.8 (p. 152). The operators have the same meaning when applied to bitset
objects as the built-in operators have when applied to unsigned operands.
Table 17.3. bitset Operations
www.it-ebooks.info
Online Convert PowerPoint to PDF file. Best free online export
Download Free Trial. Convert a PPTX/PPT File to PDF. Then just wait until the conversion from Powerpoint to PDF is complete and download the file.
create powerpoint from pdf; drag and drop pdf into powerpoint
C# PDF Convert to Jpeg SDK: Convert PDF to JPEG images in C#.net
C# PDF - Convert PDF to JPEG in C#.NET. C#.NET PDF to JPEG Converting & Conversion Control. Convert PDF to JPEG Using C#.NET. Add necessary references:
pdf conversion to powerpoint; pdf to ppt converter online
C++ Primer, Fifth Edition
Several operations—count, size, all, any, and none—take no arguments and
return information about the state of the entire bitset. Others—set, reset, and
flip—change the state of the bitset. The members that change the bitset are
overloaded. In each case, the version that takes no arguments applies the given
operation to the entire set; the versions that take a position apply the operation to the
given bit:
Click here to view code image
bitset<32> bitvec(1U); // 32 bits; low-order bit is 1, remaining bits are 0
bool is_set = bitvec.any();      // true, one bit is set
bool is_not_set = bitvec.none(); // false, one bit is set
bool all_set = bitvec.all();     // false, only one bit is set
size_t onBits = bitvec.count();  // returns 1
size_t sz = bitvec.size();       // returns 32
bitvec.flip();     // reverses the value of all the bits in bitvec
bitvec.reset();    // sets all the bits to 0
bitvec.set();      // sets all the bits to 1
The any operation returns true if one or more bits of the bitset object are turned
on—that is, are equal to 1. Conversely, none returns true if all the bits are zero. The
www.it-ebooks.info
VB.NET PDF Convert to Jpeg SDK: Convert PDF to JPEG images in vb.
Convert PDF to Image; Convert Word to PDF; Convert Excel to PDF; Convert PowerPoint to PDF; Convert Image to PDF; Convert Jpeg to PDF;
how to convert pdf into powerpoint on; how to add pdf to powerpoint presentation
VB.NET PDF Convert to HTML SDK: Convert PDF to html files in vb.
Convert PDF to HTML. |. Home ›› XDoc.PDF ›› VB.NET PDF: PDF to HTML. Convert PDF to HTML in VB.NET Demo Code. Add necessary references:
drag and drop pdf into powerpoint; export pdf to powerpoint
C++ Primer, Fifth Edition
new standard introduced the all operation, which returns true if all the bits are on.
The count and size operations return a size_t (§ 3.5.2, p. 116) equal to the
number of bits that are set, or the total number of bits in the object, respectively. The
size function is a constexpr and so can be used where a constant expression is
required (§ 2.4.4, p. 65).
The flip, set, reset, and test members let us read or write the bit at a
given position:
Click here to view code image
bitvec.flip(0);   // reverses the value of the first bit
bitvec.set(bitvec.size() - 1);  // turns on the last bit
bitvec.set(0, 0); // turns off the first bit
bitvec.reset(i);  // turns off the ith bit
bitvec.test(0);   // returns false because the first bit is off
The subscript operator is overloaded on const. The const version returns a bool
value true if the bit at the given index is on, false otherwise. The nonconst
version returns a special type defined by bitset that lets us manipulate the bit value
at the given index position:
Click here to view code image
bitvec[0] = 0;          // turn off the bit at position 0
bitvec[31] = bitvec[0]; // set the last bit to the same value as the first bit
bitvec[0].flip();       // flip the value of the bit at position 0
~bitvec[0];             // equivalent operation; flips the bit at position 0
bool b = bitvec[0];     // convert the value of bitvec[0] to bool
Retrieving the Value of a 
bitset
The to_ulong and to_ullong operations return a value that holds the same bit
pattern as the bitset object. We can use these operations only if the size of the
bitset is less than or equal to the corresponding size, unsigned long for
to_ulong and unsigned long long for to_ullong:
Click here to view code image
unsigned long ulong = bitvec3.to_ulong();
cout << "ulong = " << ulong << endl;
Note
These operations throw an overflow_error exception (§ 5.6, p. 193) if the
value in the bitset does not fit in the specified type.
www.it-ebooks.info
C# powerpoint - Convert PowerPoint to PDF in C#.NET
C# PowerPoint - Convert PowerPoint to PDF in C#.NET. C# Demo: Convert PowerPoint to PDF Document. Add references: RasterEdge.Imaging.Basic.dll.
how to change pdf to ppt on; converting pdf to powerpoint slides
C# PDF Convert to HTML SDK: Convert PDF to html files in C#.net
Convert PDF to HTML. |. C#.NET PDF SDK - Convert PDF to HTML in C#.NET. How to Use C# .NET XDoc.PDF SDK to Convert PDF to HTML Webpage in C# .NET Program.
convert pdf into ppt; converter pdf to powerpoint
C++ Primer, Fifth Edition
bitset
IO Operators
The input operator reads characters from the input stream into a temporary object of
type string. It reads until it has read as many characters as the size of the
corresponding bitset, or it encounters a character other than 1 or 0, or it
encounters end-of-file or an input error. The bitset is then initialized from that
temporary string (§ 17.2.1, p. 724). If fewer characters are read than the size of
the bitset, the high-order bits are, as usual, set to 0.
The output operator prints the bit pattern in a bitset object:
Click here to view code image
bitset<16> bits;
cin >> bits;  // read up to 16 1 or 0 characters from cin
cout << "bits: " << bits << endl; // print what we just read
Using 
bitset
s
To illustrate using bitsets, we’ll reimplement the grading code from § 4.8 (p. 154)
that used an unsigned long to represent the pass/fail quiz results for 30 students:
Click here to view code image
bool status;
// version using bitwise operators
unsigned long quizA = 0;      // this value is used as a collection of bits
quizA |= 1UL << 27;           // indicate student number 27 passed
status = quizA & (1UL << 27); // check how student number 27 did
quizA &= ~(1UL << 27);        // student number 27 failed
// equivalent actions using the bitset library
bitset<30> quizB;     // allocate one bit per student; all bits initialized to 0
quizB.set(27);        // indicate student number 27 passed
status = quizB[27];   // check how student number 27 did
quizB.reset(27);      // student number 27 failed
Exercises Section 17.2.2
Exercise 17.10: Using the sequence 1, 2, 3, 5, 8, 13, 21, initialize a
bitset that has a 1 bit in each position corresponding to a number in this
sequence. Default initialize another bitset and write a small program to
turn on each of the appropriate bits.
Exercise 17.11: Define a data structure that contains an integral object to
track responses to a true/false quiz containing 10 questions. What changes, if
www.it-ebooks.info
VB.NET PDF Convert to Word SDK: Convert PDF to Word library in vb.
VB.NET PDF - Convert PDF to MS Office Word in VB.NET. VB.NET Tutorial for How to Convert PDF to Word (.docx) Document in VB.NET. Best
pdf into powerpoint; create powerpoint from pdf
VB.NET PDF Convert to Tiff SDK: Convert PDF to tiff images in vb.
VB.NET PDF - Convert PDF to TIFF Using VB in VB.NET. Free VB.NET Guide to Render and Convert PDF Document to TIFF in Visual Basic Class.
copying image from pdf to powerpoint; convert pdf back to powerpoint
C++ Primer, Fifth Edition
any, would you need to make in your data structure if the quiz had 100
questions?
Exercise 17.12: Using the data structure from the previous question, write a
function that takes a question number and a value to indicate a true/false
answer and updates the quiz results accordingly.
Exercise 17.13: Write an integral object that contains the correct answers
for the true/false quiz. Use it to generate grades on the quiz for the data
structure from the previous two exercises.
17.3. Regular Expressions
regular expression is a way of describing a sequence of characters. Regular
expressions are a stunningly powerful computational device. However, describing the
languages used to define regular expressions is well beyond the scope of this Primer.
Instead, we’ll focus on how to use the C++ regular-expression library (RE library),
which is part of the new library. The RE library, which is defined in the regex header,
involves several components, listed in Table 17.4.
Table 17.4. Regular Expression Library Components
Tip
If you are not already familiar with using regular expressions, you might want
to skim this section to get an idea of the kinds of things regular expressions
can do.
The regex class represents a regular expression. Aside from initialization and
assignment, regex has few operations. The operations on regex are listed in Table
17.6 (p. 731).
The functions regex_match and regex_search determine whether a given character
sequence matches a given regex. The regex_match function returns true if the
www.it-ebooks.info
C++ Primer, Fifth Edition
entire input sequence matches the expression; regex_search returns true if there
is a substring in the input sequence that matches. There is also a regex_replace
function that we’ll describe in § 17.3.4 (p. 741).
The arguments to the regex functions are described in Table 17.5 (overleaf). These
functions return a bool and are overloaded: One version takes an additional
argument of type smatch. If present, these functions store additional information
about a successful match in the given smatch object.
Table 17.5. Arguments to regex_search and regex_match
17.3.1. Using the Regular Expression Library
As a fairly simple example, we’ll look for words that violate a well-known spelling rule
of thumb, “
i
before 
e
except after 
c
”:
Click here to view code image
// find the characters ei that follow a character other than c
string pattern("[^c]ei");
// we want the whole word in which our pattern appears
pattern = "[[:alpha:]]*" + pattern + "[[:alpha:]]*";
regex r(pattern); // construct a regex to find pattern
smatch results;   // define an object to hold the results of a search
// define a string that has text that does and doesn't match pattern
string test_str = "receipt freind theif receive";
// use r to find a match to pattern in test_str
if (regex_search(test_str, results, r)) // if there is a match
cout << results.str() << endl;      // print the matching word
We start by defining a string to hold the regular expression we want to find. The
regular expression [^c] says we want any character that is not a 'c', and [^c]ei
says we want any such letter that is followed by the letters ei. This pattern describes
strings containing exactly three characters. We want the entire word that contains this
pattern. To match the word, we need a regular expression that will match the letters
that come before and after our three-letter pattern.
That regular expression consists of zero or more letters followed by our original
www.it-ebooks.info
C++ Primer, Fifth Edition
three-letter pattern followed by zero or more additional characters. By default, the
regular-expression language used by regex objects is ECMAScript. In ECMAScript, the
pattern [[:alpha:]] matches any alphabetic character, and the symbols + and *
signify that we want “one or more” or “zero or more” matches, respectively. Thus,
[[:alpha:]]* will match zero or more characters.
Having stored our regular expression in pattern, we use it to initialize a regex
object named r. We next define a string that we’ll use to test our regular
expression. We initialize test_str with words that match our pattern (e.g., “freind”
and “theif”) and words (e.g., “receipt” and “receive”) that don’t. We also define an
smatch object named results, which we will pass to regex_search. If a match is
found, results will hold the details about where the match occurred.
Next we call regex_search. If regex_search finds a match, it returns true. We
use the str member of results to print the part of test_str that matched our
pattern. The regex_search function stops looking as soon as it finds a matching
substring in the input sequence. Thus, the output will be
freind
§ 17.3.2 (p. 734) will show how to find all the matches in the input.
Specifying Options for a 
regex
Object
When we define a regex or call assign on a regex to give it a new value, we can
specify one or more flags that affect how the regex operates. These flags control the
processing done by that object. The last six flags listed in Table 17.6 indicate the
language in which the regular expression is written. Exactly one of the flags that
specify a language must be set. By default, the ECMAScript flag is set, which causes
the regex to use the ECMA-262 specification, which is the regular expression
language that many Web browsers use.
Table 17.6. regex (and wregex) Operations
www.it-ebooks.info
C++ Primer, Fifth Edition
The other three flags let us specify language-independent aspects of the regular-
expression processing. For example, we can indicate that we want the regular
expression to be matched in a case-independent manner.
As one example, we can use the icase flag to find file names that have a particular
file extension. Most operating systems recognize extensions in a case-independent
manner—we can store a C++ program in a file that ends in .cc, or .Cc, or .cC, or
.CC. We’ll write a regular expression to recognize any of these along with other
common file extensions as follows:
Click here to view code image
// one or more alphanumeric characters followed by a '.' followed by "cpp" or "cxx" or
"cc"
regex r("[[:alnum:]]+\\.(cpp|cxx|cc)$", regex::icase);
smatch results;
string filename;
while (cin >> filename)
if (regex_search(filename, results, r))
cout << results.str() << endl;  // print the current match
This expression will match a string of one or more letters or digits followed by a
period and followed by one of three file extensions. The regular expression will match
the file extensions regardless of case.
www.it-ebooks.info
C++ Primer, Fifth Edition
Just as there are special characters in C++ (§ 2.1.3, p. 39), regular-expression
languages typically also have special characters. For example, the dot (.) character
usually matches any character. As we do in C++, we can escape the special nature of
a character by preceding it with a backslash. Because the backslash is also a special
character in C++, we must use a second backslash inside a string literal to indicate to
C++ that we want a backslash. Hence, we must write \\. to represent a regular
expression that will match a period.
Errors in Specifying or Using a Regular Expression
We can think of a regular expression as itself a “program” in a simple programming
language. That language is not interpreted by the C++ compiler. Instead, a regular
expression is “compiled” at run time when a regex object is initialized with or
assigned a new pattern. As with any programming language, it is possible that the
regular expressions we write can have errors.
Note
It is important to realize that the syntactic correctness of a regular expression
is evaluated at run time.
If we make a mistake in writing a regular expression, then at 
run time
the library
will throw an exception (§ 5.6, p. 193) of type regex_error. Like the standard
exception types, regex_error has a what operation that describes the error that
occurred (§ 5.6.2, p. 195). A regex_error also has a member named code that
returns a numeric code corresponding to the type of error that was encountered. The
values code returns are implementation defined. The standard errors that the RE
library can throw are listed in Table 17.7.
Table 17.7. Regular Expression Error Conditions
www.it-ebooks.info
Documents you may be interested
Documents you may be interested