473,508 Members | 2,324 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Are the Standard Header available in source form?

Are the Standard Headers as described in ISO/IEC 14882:2003 available in
source file form as they appear in the standard? What I mean by this is,
for example §20.4 describes the Header<memory> and contains segments of C++
code such as the following:

namespace std {
// 20.4.1, the default allocator:
template <class T> class allocator;
template <> class allocator<void>;
template <class T, class U>
bool operator==(const allocator<T>&, const allocator<U>&) throw();
template <class T, class U>
bool operator!=(const allocator<T>&, const allocator<U>&) throw();
// 20.4.2, raw storage iterator:
template <class OutputIterator, class T> class raw_storage_iterator;
// 20.4.3, temporary buffers:
template <class T>
pair<T*,ptrdiff_t> get_temporary_buffer(ptrdiff_t n);
template <class T>
void return_temporary_buffer(T* p);
// 20.4.4, specialized algorithms:
template <class InputIterator, class ForwardIterator>
ForwardIterator
uninitialized_copy(InputIterator first, InputIterator last,
ForwardIterator result);
template <class ForwardIterator, class T>
void uninitialized_fill(ForwardIterator first, ForwardIterator last,
const T& x);
template <class ForwardIterator, class Size, class T>
void uninitialized_fill_n(ForwardIterator first, Size n, const T& x);
// 20.4.5, pointers:
template<class X> class auto_ptr;
}
I can go through the entire document copying the contents of the 50 Headers
into text files. I have done just that for some of the headers. It seems
like a lot of unnecessary work if I can obtain these by downloading them.
The primary reason I want this is so I can build a tag database
representing the Standard Library.
--
"[M]y dislike for the preprocessor is well known. Cpp is essential in C
programming, and still important in conventional C++ implementations, but
it is a hack, and so are most of the techniques that rely on it. ...I think
the time has come to be serious about macro-free C++ programming." - B. S.

Jul 22 '05 #1
4 1309

"Steven T. Hatton" <su******@setidava.kushan.aa> skrev i en meddelelse
news:2O********************@speakeasy.net...
Are the Standard Headers as described in ISO/IEC 14882:2003 available in
source file form as they appear in the standard? What I mean by this is,
for example §20.4 describes the Header<memory> and contains segments of C++ code such as the following:

namespace std {
// 20.4.1, the default allocator:
template <class T> class allocator;
template <> class allocator<void>;
template <class T, class U>
bool operator==(const allocator<T>&, const allocator<U>&) throw();
template <class T, class U>
bool operator!=(const allocator<T>&, const allocator<U>&) throw();
// 20.4.2, raw storage iterator:
template <class OutputIterator, class T> class raw_storage_iterator;
// 20.4.3, temporary buffers:
template <class T>
pair<T*,ptrdiff_t> get_temporary_buffer(ptrdiff_t n);
template <class T>
void return_temporary_buffer(T* p);
// 20.4.4, specialized algorithms:
template <class InputIterator, class ForwardIterator>
ForwardIterator
uninitialized_copy(InputIterator first, InputIterator last,
ForwardIterator result);
template <class ForwardIterator, class T>
void uninitialized_fill(ForwardIterator first, ForwardIterator last,
const T& x);
template <class ForwardIterator, class Size, class T>
void uninitialized_fill_n(ForwardIterator first, Size n, const T& x);
// 20.4.5, pointers:
template<class X> class auto_ptr;
}
I can go through the entire document copying the contents of the 50 Headers into text files. I have done just that for some of the headers. It seems
like a lot of unnecessary work if I can obtain these by downloading them.
The primary reason I want this is so I can build a tag database
representing the Standard Library.
--
"[M]y dislike for the preprocessor is well known. Cpp is essential in C
programming, and still important in conventional C++ implementations, but
it is a hack, and so are most of the techniques that rely on it. ...I think the time has come to be serious about macro-free C++ programming." - B. S.


This isn't guaranteed by the standard, but my bet is you'll find these
headers with your compiler distribution.

/Peter
Jul 22 '05 #2
Peter Koch Larsen wrote:

This isn't guaranteed by the standard, but my bet is you'll find these
headers with your compiler distribution.

/Peter


Much to my surprise that isn't quite as simple as it may seem. There are
header file representing the Standard Headers, but they are not very
similar to the files produced by simply copying the header declarations
from the Standard. This seems to be the case with both my GCC and
Microsoft compilers.
--
"[M]y dislike for the preprocessor is well known. Cpp is essential in C
programming, and still important in conventional C++ implementations, but
it is a hack, and so are most of the techniques that rely on it. ...I think
the time has come to be serious about macro-free C++ programming." - B. S.

Jul 22 '05 #3
In message <yv********************@speakeasy.net>, Steven T. Hatton
<su******@setidava.kushan.aa> writes
Peter Koch Larsen wrote:
This isn't guaranteed by the standard, but my bet is you'll find these
headers with your compiler distribution.

/Peter


Much to my surprise that isn't quite as simple as it may seem. There are
header file representing the Standard Headers, but they are not very
similar to the files produced by simply copying the header declarations
from the Standard. This seems to be the case with both my GCC and
Microsoft compilers.


Why is that surprising, given the number of times the words
*implementation defined* occur in the declarations in the Standard?

--
Richard Herring
Jul 22 '05 #4
Richard Herring wrote:
In message <yv********************@speakeasy.net>, Steven T. Hatton
<su******@setidava.kushan.aa> writes
Peter Koch Larsen wrote:
This isn't guaranteed by the standard, but my bet is you'll find these
headers with your compiler distribution.

/Peter


Much to my surprise that isn't quite as simple as it may seem. There are
header file representing the Standard Headers, but they are not very
similar to the files produced by simply copying the header declarations
from the Standard. This seems to be the case with both my GCC and
Microsoft compilers.


Why is that surprising, given the number of times the words
*implementation defined* occur in the declarations in the Standard?


Out of 50 headers that appears 36 times. Always in reference to iterators
except for the case in vector where it is in reference to pointer and
const_pointer. I only appears in typedef statements which could very
easily be modified by the implementer by replacing the words
"implementation defined" with the identifier for the implementations
definition.

--
"[M]y dislike for the preprocessor is well known. Cpp is essential in C
programming, and still important in conventional C++ implementations, but
it is a hack, and so are most of the techniques that rely on it. ...I think
the time has come to be serious about macro-free C++ programming." - B. S.

Jul 22 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
1929
by: Web Developer | last post by:
Hi, In Java, the package java.lang.*; is automatically imported and provides a basic set of functionality. Questions: 1) In C++, are there any include files that are automatically included?...
1
2151
by: Corrie Meyer | last post by:
Announcement: SwiftReports standard edition 1.0 for Visual Studio ..NET 2003 released by UniSwift. We are pleased to announce the first release of a fully-managed reporting tool for the...
31
2748
by: Steven T. Hatton | last post by:
If a header is not necessarily a source file, and the sequences delimited by < and > in header names aren't necessarily valid source file names, what exactly is a header? -- p->m == (*p).m == p.m...
43
4911
by: Steven T. Hatton | last post by:
Now that I have a better grasp of the scope and capabilities of the C++ Standard Library, I understand that products such as Qt actually provide much of the same functionality through their own...
1
4215
by: Thomas Holmgren | last post by:
Hi all I've tried to get my hands on the End User License Agreement for MS Visual C# .NET 2003 STANDARD edition, sofar without luck. Does anybody know where I can find the license agreement...
2
1361
by: Chad | last post by:
I've found 2 features of Visual C++ .NET Standard 2003 that are a bit perplexing. First, there appears to be no form designer available for developing WIN32 applications. So if I'd like to...
7
4926
by: Robert Seacord | last post by:
The CERT/CC has just deployed a new web site dedicated to developing secure coding standards for the C programming language, C++, and eventually other programming language. We have already...
7
2160
by: ben | last post by:
Hi, I have few doubts about header files. Is it true that header files always have only "function declaration" and not definition? Next where can i find definition of functions defined in...
16
2062
by: wdh3rd | last post by:
Hi everyone. I'm new to C and I have a few questions: I am making files for permutations and combinations. Files to be made are perm.c, perm.h, combo.c, and combo.h. Since both combinations...
0
7224
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
7118
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7323
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
7493
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
5625
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
4706
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
3192
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
1550
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
1
763
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.