Makefile.am (bits_headers): Remove slice.h
* include/Makefile.am (bits_headers): Remove slice.h * include/Makefile.in: Regenerate. * include/bits/slice.h (slice): move to include/bits/slice_array.h * include/bits/slice.h Remove. * include/std/std_valarray.h: Don't #include bits/slice.h anymore. * include/bits/slice_array.h: Comply to official coding styles. * testsuite/26_numerics/slice.cc: New test. :w :q From-SVN: r55470
This commit is contained in:
parent
6d80a8545b
commit
5068f54685
@ -1,3 +1,13 @@
|
||||
2002-07-16 Gabriel Dos Reis <gdr@nerim.net>
|
||||
|
||||
* include/Makefile.am (bits_headers): Remove slice.h
|
||||
* include/Makefile.in: Regenerate.
|
||||
* include/bits/slice.h (slice): move to include/bits/slice_array.h
|
||||
* include/bits/slice.h Remove.
|
||||
* include/std/std_valarray.h: Don't #include bits/slice.h anymore.
|
||||
* include/bits/slice_array.h: Comply to official coding styles.
|
||||
* testsuite/26_numerics/slice.cc: New test.
|
||||
|
||||
2002-07-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
|
||||
|
||||
* config/os/solaris/solaris2.5/ctype_base.h (ctype_base): Fix
|
||||
|
@ -62,7 +62,6 @@ bits_headers = \
|
||||
${bits_srcdir}/pthread_allocimpl.h \
|
||||
${bits_srcdir}/stream_iterator.h \
|
||||
${bits_srcdir}/streambuf_iterator.h \
|
||||
${bits_srcdir}/slice.h \
|
||||
${bits_srcdir}/slice_array.h \
|
||||
${bits_srcdir}/sstream.tcc \
|
||||
${bits_srcdir}/stl_algo.h \
|
||||
|
@ -139,308 +139,59 @@ glibcpp_builddir = @glibcpp_builddir@
|
||||
|
||||
bits_srcdir = ${glibcpp_srcdir}/include/bits
|
||||
bits_builddir = ./bits
|
||||
bits_headers = \
|
||||
${bits_srcdir}/basic_ios.h \
|
||||
${bits_srcdir}/basic_ios.tcc \
|
||||
${bits_srcdir}/basic_string.h \
|
||||
${bits_srcdir}/basic_string.tcc \
|
||||
${bits_srcdir}/boost_concept_check.h \
|
||||
${bits_srcdir}/char_traits.h \
|
||||
${bits_srcdir}/codecvt.h \
|
||||
${bits_srcdir}/concept_check.h \
|
||||
${bits_srcdir}/cpp_type_traits.h \
|
||||
${bits_srcdir}/deque.tcc \
|
||||
${bits_srcdir}/fpos.h \
|
||||
${bits_srcdir}/fstream.tcc \
|
||||
${bits_srcdir}/functexcept.h \
|
||||
${bits_srcdir}/generic_shadow.h \
|
||||
${bits_srcdir}/gslice.h \
|
||||
${bits_srcdir}/gslice_array.h \
|
||||
${bits_srcdir}/indirect_array.h \
|
||||
${bits_srcdir}/ios_base.h \
|
||||
${bits_srcdir}/istream.tcc \
|
||||
${bits_srcdir}/list.tcc \
|
||||
${bits_srcdir}/locale_facets.h \
|
||||
${bits_srcdir}/locale_facets.tcc \
|
||||
${bits_srcdir}/localefwd.h \
|
||||
${bits_srcdir}/mask_array.h \
|
||||
${bits_srcdir}/ostream.tcc \
|
||||
${bits_srcdir}/pthread_allocimpl.h \
|
||||
${bits_srcdir}/stream_iterator.h \
|
||||
${bits_srcdir}/streambuf_iterator.h \
|
||||
${bits_srcdir}/slice.h \
|
||||
${bits_srcdir}/slice_array.h \
|
||||
${bits_srcdir}/sstream.tcc \
|
||||
${bits_srcdir}/stl_algo.h \
|
||||
${bits_srcdir}/stl_algobase.h \
|
||||
${bits_srcdir}/stl_alloc.h \
|
||||
${bits_srcdir}/stl_bvector.h \
|
||||
${bits_srcdir}/stl_construct.h \
|
||||
${bits_srcdir}/stl_deque.h \
|
||||
${bits_srcdir}/stl_function.h \
|
||||
${bits_srcdir}/stl_heap.h \
|
||||
${bits_srcdir}/stl_iterator.h \
|
||||
${bits_srcdir}/stl_iterator_base_funcs.h \
|
||||
${bits_srcdir}/stl_iterator_base_types.h \
|
||||
${bits_srcdir}/stl_list.h \
|
||||
${bits_srcdir}/stl_map.h \
|
||||
${bits_srcdir}/stl_multimap.h \
|
||||
${bits_srcdir}/stl_multiset.h \
|
||||
${bits_srcdir}/stl_numeric.h \
|
||||
${bits_srcdir}/stl_pair.h \
|
||||
${bits_srcdir}/stl_pthread_alloc.h \
|
||||
${bits_srcdir}/stl_queue.h \
|
||||
${bits_srcdir}/stl_raw_storage_iter.h \
|
||||
${bits_srcdir}/stl_relops.h \
|
||||
${bits_srcdir}/stl_set.h \
|
||||
${bits_srcdir}/stl_stack.h \
|
||||
${bits_srcdir}/stl_tempbuf.h \
|
||||
${bits_srcdir}/stl_threads.h \
|
||||
${bits_srcdir}/stl_tree.h \
|
||||
${bits_srcdir}/stl_uninitialized.h \
|
||||
${bits_srcdir}/stl_vector.h \
|
||||
${bits_srcdir}/streambuf.tcc \
|
||||
${bits_srcdir}/stringfwd.h \
|
||||
${bits_srcdir}/type_traits.h \
|
||||
${bits_srcdir}/valarray_array.h \
|
||||
${bits_srcdir}/valarray_array.tcc \
|
||||
${bits_srcdir}/valarray_meta.h \
|
||||
${bits_srcdir}/vector.tcc
|
||||
bits_headers = ${bits_srcdir}/basic_ios.h ${bits_srcdir}/basic_ios.tcc ${bits_srcdir}/basic_string.h ${bits_srcdir}/basic_string.tcc ${bits_srcdir}/boost_concept_check.h ${bits_srcdir}/char_traits.h ${bits_srcdir}/codecvt.h ${bits_srcdir}/concept_check.h ${bits_srcdir}/cpp_type_traits.h ${bits_srcdir}/deque.tcc ${bits_srcdir}/fpos.h ${bits_srcdir}/fstream.tcc ${bits_srcdir}/functexcept.h ${bits_srcdir}/generic_shadow.h ${bits_srcdir}/gslice.h ${bits_srcdir}/gslice_array.h ${bits_srcdir}/indirect_array.h ${bits_srcdir}/ios_base.h ${bits_srcdir}/istream.tcc ${bits_srcdir}/list.tcc ${bits_srcdir}/locale_facets.h ${bits_srcdir}/locale_facets.tcc ${bits_srcdir}/localefwd.h ${bits_srcdir}/mask_array.h ${bits_srcdir}/ostream.tcc ${bits_srcdir}/pthread_allocimpl.h ${bits_srcdir}/stream_iterator.h ${bits_srcdir}/streambuf_iterator.h ${bits_srcdir}/slice_array.h ${bits_srcdir}/sstream.tcc ${bits_srcdir}/stl_algo.h ${bits_srcdir}/stl_algobase.h ${bits_srcdir}/stl_alloc.h ${bits_srcdir}/stl_bvector.h ${bits_srcdir}/stl_construct.h ${bits_srcdir}/stl_deque.h ${bits_srcdir}/stl_function.h ${bits_srcdir}/stl_heap.h ${bits_srcdir}/stl_iterator.h ${bits_srcdir}/stl_iterator_base_funcs.h ${bits_srcdir}/stl_iterator_base_types.h ${bits_srcdir}/stl_list.h ${bits_srcdir}/stl_map.h ${bits_srcdir}/stl_multimap.h ${bits_srcdir}/stl_multiset.h ${bits_srcdir}/stl_numeric.h ${bits_srcdir}/stl_pair.h ${bits_srcdir}/stl_pthread_alloc.h ${bits_srcdir}/stl_queue.h ${bits_srcdir}/stl_raw_storage_iter.h ${bits_srcdir}/stl_relops.h ${bits_srcdir}/stl_set.h ${bits_srcdir}/stl_stack.h ${bits_srcdir}/stl_tempbuf.h ${bits_srcdir}/stl_threads.h ${bits_srcdir}/stl_tree.h ${bits_srcdir}/stl_uninitialized.h ${bits_srcdir}/stl_vector.h ${bits_srcdir}/streambuf.tcc ${bits_srcdir}/stringfwd.h ${bits_srcdir}/type_traits.h ${bits_srcdir}/valarray_array.h ${bits_srcdir}/valarray_array.tcc ${bits_srcdir}/valarray_meta.h ${bits_srcdir}/vector.tcc
|
||||
|
||||
|
||||
backward_srcdir = ${glibcpp_srcdir}/include/backward
|
||||
backward_builddir = ./backward
|
||||
backward_headers = \
|
||||
${backward_srcdir}/complex.h \
|
||||
${backward_srcdir}/iomanip.h \
|
||||
${backward_srcdir}/istream.h \
|
||||
${backward_srcdir}/ostream.h \
|
||||
${backward_srcdir}/stream.h \
|
||||
${backward_srcdir}/streambuf.h \
|
||||
${backward_srcdir}/algo.h \
|
||||
${backward_srcdir}/algobase.h \
|
||||
${backward_srcdir}/alloc.h \
|
||||
${backward_srcdir}/bvector.h \
|
||||
${backward_srcdir}/defalloc.h \
|
||||
${backward_srcdir}/deque.h \
|
||||
${backward_srcdir}/function.h \
|
||||
${backward_srcdir}/hash_map.h \
|
||||
${backward_srcdir}/hash_set.h \
|
||||
${backward_srcdir}/hashtable.h \
|
||||
${backward_srcdir}/heap.h \
|
||||
${backward_srcdir}/iostream.h \
|
||||
${backward_srcdir}/iterator.h \
|
||||
${backward_srcdir}/list.h \
|
||||
${backward_srcdir}/map.h \
|
||||
${backward_srcdir}/multimap.h \
|
||||
${backward_srcdir}/new.h \
|
||||
${backward_srcdir}/multiset.h \
|
||||
${backward_srcdir}/pair.h \
|
||||
${backward_srcdir}/queue.h \
|
||||
${backward_srcdir}/rope.h \
|
||||
${backward_srcdir}/set.h \
|
||||
${backward_srcdir}/slist.h \
|
||||
${backward_srcdir}/stack.h \
|
||||
${backward_srcdir}/tempbuf.h \
|
||||
${backward_srcdir}/tree.h \
|
||||
${backward_srcdir}/vector.h \
|
||||
${backward_srcdir}/fstream.h \
|
||||
${backward_srcdir}/strstream.h \
|
||||
${backward_srcdir}/backward_warning.h
|
||||
backward_headers = ${backward_srcdir}/complex.h ${backward_srcdir}/iomanip.h ${backward_srcdir}/istream.h ${backward_srcdir}/ostream.h ${backward_srcdir}/stream.h ${backward_srcdir}/streambuf.h ${backward_srcdir}/algo.h ${backward_srcdir}/algobase.h ${backward_srcdir}/alloc.h ${backward_srcdir}/bvector.h ${backward_srcdir}/defalloc.h ${backward_srcdir}/deque.h ${backward_srcdir}/function.h ${backward_srcdir}/hash_map.h ${backward_srcdir}/hash_set.h ${backward_srcdir}/hashtable.h ${backward_srcdir}/heap.h ${backward_srcdir}/iostream.h ${backward_srcdir}/iterator.h ${backward_srcdir}/list.h ${backward_srcdir}/map.h ${backward_srcdir}/multimap.h ${backward_srcdir}/new.h ${backward_srcdir}/multiset.h ${backward_srcdir}/pair.h ${backward_srcdir}/queue.h ${backward_srcdir}/rope.h ${backward_srcdir}/set.h ${backward_srcdir}/slist.h ${backward_srcdir}/stack.h ${backward_srcdir}/tempbuf.h ${backward_srcdir}/tree.h ${backward_srcdir}/vector.h ${backward_srcdir}/fstream.h ${backward_srcdir}/strstream.h ${backward_srcdir}/backward_warning.h
|
||||
|
||||
|
||||
ext_srcdir = ${glibcpp_srcdir}/include/ext
|
||||
ext_builddir = ./ext
|
||||
ext_headers = \
|
||||
${ext_srcdir}/algorithm \
|
||||
${ext_srcdir}/enc_filebuf.h \
|
||||
${ext_srcdir}/stdio_filebuf.h \
|
||||
${ext_srcdir}/functional \
|
||||
${ext_srcdir}/hash_map \
|
||||
${ext_srcdir}/hash_set \
|
||||
${ext_srcdir}/iterator \
|
||||
${ext_srcdir}/memory \
|
||||
${ext_srcdir}/numeric \
|
||||
${ext_srcdir}/rb_tree \
|
||||
${ext_srcdir}/rope \
|
||||
${ext_srcdir}/ropeimpl.h \
|
||||
${ext_srcdir}/slist \
|
||||
${ext_srcdir}/stl_hash_fun.h \
|
||||
${ext_srcdir}/stl_hashtable.h \
|
||||
${ext_srcdir}/stl_rope.h
|
||||
ext_headers = ${ext_srcdir}/algorithm ${ext_srcdir}/enc_filebuf.h ${ext_srcdir}/stdio_filebuf.h ${ext_srcdir}/functional ${ext_srcdir}/hash_map ${ext_srcdir}/hash_set ${ext_srcdir}/iterator ${ext_srcdir}/memory ${ext_srcdir}/numeric ${ext_srcdir}/rb_tree ${ext_srcdir}/rope ${ext_srcdir}/ropeimpl.h ${ext_srcdir}/slist ${ext_srcdir}/stl_hash_fun.h ${ext_srcdir}/stl_hashtable.h ${ext_srcdir}/stl_rope.h
|
||||
|
||||
|
||||
# This is the common subset of files that all three "C" header models use.
|
||||
c_base_srcdir = @C_INCLUDE_DIR@
|
||||
c_base_builddir = .
|
||||
c_base_headers = \
|
||||
${c_base_srcdir}/std_cassert.h \
|
||||
${c_base_srcdir}/std_cctype.h \
|
||||
${c_base_srcdir}/std_cerrno.h \
|
||||
${c_base_srcdir}/std_cfloat.h \
|
||||
${c_base_srcdir}/std_ciso646.h \
|
||||
${c_base_srcdir}/std_climits.h \
|
||||
${c_base_srcdir}/std_clocale.h \
|
||||
${c_base_srcdir}/std_cmath.h \
|
||||
${c_base_srcdir}/std_csetjmp.h \
|
||||
${c_base_srcdir}/std_csignal.h \
|
||||
${c_base_srcdir}/std_cstdarg.h \
|
||||
${c_base_srcdir}/std_cstddef.h \
|
||||
${c_base_srcdir}/std_cstdio.h \
|
||||
${c_base_srcdir}/std_cstdlib.h \
|
||||
${c_base_srcdir}/std_cstring.h \
|
||||
${c_base_srcdir}/std_ctime.h \
|
||||
${c_base_srcdir}/std_cwchar.h \
|
||||
${c_base_srcdir}/std_cwctype.h
|
||||
c_base_headers = ${c_base_srcdir}/std_cassert.h ${c_base_srcdir}/std_cctype.h ${c_base_srcdir}/std_cerrno.h ${c_base_srcdir}/std_cfloat.h ${c_base_srcdir}/std_ciso646.h ${c_base_srcdir}/std_climits.h ${c_base_srcdir}/std_clocale.h ${c_base_srcdir}/std_cmath.h ${c_base_srcdir}/std_csetjmp.h ${c_base_srcdir}/std_csignal.h ${c_base_srcdir}/std_cstdarg.h ${c_base_srcdir}/std_cstddef.h ${c_base_srcdir}/std_cstdio.h ${c_base_srcdir}/std_cstdlib.h ${c_base_srcdir}/std_cstring.h ${c_base_srcdir}/std_ctime.h ${c_base_srcdir}/std_cwchar.h ${c_base_srcdir}/std_cwctype.h
|
||||
|
||||
c_base_headers_rename = \
|
||||
cassert \
|
||||
cctype \
|
||||
cerrno \
|
||||
cfloat \
|
||||
ciso646 \
|
||||
climits \
|
||||
clocale \
|
||||
cmath \
|
||||
csetjmp \
|
||||
csignal \
|
||||
cstdarg \
|
||||
cstddef \
|
||||
cstdio \
|
||||
cstdlib \
|
||||
cstring \
|
||||
ctime \
|
||||
cwchar \
|
||||
cwctype
|
||||
c_base_headers_rename = cassert cctype cerrno cfloat ciso646 climits clocale cmath csetjmp csignal cstdarg cstddef cstdio cstdlib cstring ctime cwchar cwctype
|
||||
|
||||
|
||||
# "C" compatibility headers.
|
||||
c_compatibility_srcdir = ${glibcpp_srcdir}/include/c_compatibility
|
||||
c_compatibility_builddir = .
|
||||
c_compatibility_headers = \
|
||||
${c_compatibility_srcdir}/assert.h \
|
||||
${c_compatibility_srcdir}/ctype.h \
|
||||
${c_compatibility_srcdir}/errno.h \
|
||||
${c_compatibility_srcdir}/float.h \
|
||||
${c_compatibility_srcdir}/iso646.h \
|
||||
${c_compatibility_srcdir}/limits.h \
|
||||
${c_compatibility_srcdir}/locale.h \
|
||||
${c_compatibility_srcdir}/math.h \
|
||||
${c_compatibility_srcdir}/setjmp.h \
|
||||
${c_compatibility_srcdir}/signal.h \
|
||||
${c_compatibility_srcdir}/stdarg.h \
|
||||
${c_compatibility_srcdir}/stddef.h \
|
||||
${c_compatibility_srcdir}/stdio.h \
|
||||
${c_compatibility_srcdir}/stdlib.h \
|
||||
${c_compatibility_srcdir}/string.h \
|
||||
${c_compatibility_srcdir}/time.h \
|
||||
${c_compatibility_srcdir}/wchar.h \
|
||||
${c_compatibility_srcdir}/wctype.h
|
||||
c_compatibility_headers = ${c_compatibility_srcdir}/assert.h ${c_compatibility_srcdir}/ctype.h ${c_compatibility_srcdir}/errno.h ${c_compatibility_srcdir}/float.h ${c_compatibility_srcdir}/iso646.h ${c_compatibility_srcdir}/limits.h ${c_compatibility_srcdir}/locale.h ${c_compatibility_srcdir}/math.h ${c_compatibility_srcdir}/setjmp.h ${c_compatibility_srcdir}/signal.h ${c_compatibility_srcdir}/stdarg.h ${c_compatibility_srcdir}/stddef.h ${c_compatibility_srcdir}/stdio.h ${c_compatibility_srcdir}/stdlib.h ${c_compatibility_srcdir}/string.h ${c_compatibility_srcdir}/time.h ${c_compatibility_srcdir}/wchar.h ${c_compatibility_srcdir}/wctype.h
|
||||
|
||||
@GLIBCPP_C_HEADERS_C_STD_TRUE@c_base_headers_extra = @GLIBCPP_C_HEADERS_C_STD_TRUE@${c_base_srcdir}/cmath.tcc
|
||||
@GLIBCPP_C_HEADERS_C_STD_TRUE@c_base_headers_extra = ${c_base_srcdir}/cmath.tcc
|
||||
@GLIBCPP_C_HEADERS_C_STD_FALSE@c_base_headers_extra =
|
||||
@GLIBCPP_C_HEADERS_COMPATIBILITY_TRUE@c_compatibility_headers_extra = @GLIBCPP_C_HEADERS_COMPATIBILITY_TRUE@${c_compatibility_headers}
|
||||
@GLIBCPP_C_HEADERS_COMPATIBILITY_TRUE@c_compatibility_headers_extra = ${c_compatibility_headers}
|
||||
@GLIBCPP_C_HEADERS_COMPATIBILITY_FALSE@c_compatibility_headers_extra =
|
||||
|
||||
std_srcdir = ${glibcpp_srcdir}/include/std
|
||||
std_builddir = .
|
||||
std_headers = \
|
||||
${std_srcdir}/std_algorithm.h \
|
||||
${std_srcdir}/std_bitset.h \
|
||||
${std_srcdir}/std_complex.h \
|
||||
${std_srcdir}/std_deque.h \
|
||||
${std_srcdir}/std_fstream.h \
|
||||
${std_srcdir}/std_functional.h \
|
||||
${std_srcdir}/std_iomanip.h \
|
||||
${std_srcdir}/std_ios.h \
|
||||
${std_srcdir}/std_iosfwd.h \
|
||||
${std_srcdir}/std_iostream.h \
|
||||
${std_srcdir}/std_istream.h \
|
||||
${std_srcdir}/std_iterator.h \
|
||||
${std_srcdir}/std_limits.h \
|
||||
${std_srcdir}/std_list.h \
|
||||
${std_srcdir}/std_locale.h \
|
||||
${std_srcdir}/std_map.h \
|
||||
${std_srcdir}/std_memory.h \
|
||||
${std_srcdir}/std_numeric.h \
|
||||
${std_srcdir}/std_ostream.h \
|
||||
${std_srcdir}/std_queue.h \
|
||||
${std_srcdir}/std_set.h \
|
||||
${std_srcdir}/std_sstream.h \
|
||||
${std_srcdir}/std_stack.h \
|
||||
${std_srcdir}/std_stdexcept.h \
|
||||
${std_srcdir}/std_streambuf.h \
|
||||
${std_srcdir}/std_string.h \
|
||||
${std_srcdir}/std_utility.h \
|
||||
${std_srcdir}/std_valarray.h \
|
||||
${std_srcdir}/std_vector.h
|
||||
std_headers = ${std_srcdir}/std_algorithm.h ${std_srcdir}/std_bitset.h ${std_srcdir}/std_complex.h ${std_srcdir}/std_deque.h ${std_srcdir}/std_fstream.h ${std_srcdir}/std_functional.h ${std_srcdir}/std_iomanip.h ${std_srcdir}/std_ios.h ${std_srcdir}/std_iosfwd.h ${std_srcdir}/std_iostream.h ${std_srcdir}/std_istream.h ${std_srcdir}/std_iterator.h ${std_srcdir}/std_limits.h ${std_srcdir}/std_list.h ${std_srcdir}/std_locale.h ${std_srcdir}/std_map.h ${std_srcdir}/std_memory.h ${std_srcdir}/std_numeric.h ${std_srcdir}/std_ostream.h ${std_srcdir}/std_queue.h ${std_srcdir}/std_set.h ${std_srcdir}/std_sstream.h ${std_srcdir}/std_stack.h ${std_srcdir}/std_stdexcept.h ${std_srcdir}/std_streambuf.h ${std_srcdir}/std_string.h ${std_srcdir}/std_utility.h ${std_srcdir}/std_valarray.h ${std_srcdir}/std_vector.h
|
||||
|
||||
# Renamed at build time.
|
||||
std_headers_rename = \
|
||||
algorithm \
|
||||
bitset \
|
||||
complex \
|
||||
deque \
|
||||
fstream \
|
||||
functional \
|
||||
iomanip \
|
||||
ios \
|
||||
iosfwd \
|
||||
iostream \
|
||||
istream \
|
||||
iterator \
|
||||
limits \
|
||||
list \
|
||||
locale \
|
||||
map \
|
||||
memory \
|
||||
numeric \
|
||||
ostream \
|
||||
queue \
|
||||
set \
|
||||
sstream \
|
||||
stack \
|
||||
stdexcept \
|
||||
streambuf \
|
||||
string \
|
||||
utility \
|
||||
valarray \
|
||||
vector
|
||||
std_headers_rename = algorithm bitset complex deque fstream functional iomanip ios iosfwd iostream istream iterator limits list locale map memory numeric ostream queue set sstream stack stdexcept streambuf string utility valarray vector
|
||||
|
||||
|
||||
target_srcdir = ${glibcpp_srcdir}/@OS_INC_SRCDIR@
|
||||
target_builddir = ./${target_alias}/bits
|
||||
target_headers = \
|
||||
${target_srcdir}/ctype_base.h \
|
||||
${target_srcdir}/ctype_inline.h \
|
||||
${target_srcdir}/ctype_noninline.h \
|
||||
${target_srcdir}/os_defines.h \
|
||||
${glibcpp_srcdir}/@ATOMICITY_INC_SRCDIR@/atomicity.h \
|
||||
${glibcpp_srcdir}/@CPU_LIMITS_INC_SRCDIR@/cpu_limits.h
|
||||
target_headers = ${target_srcdir}/ctype_base.h ${target_srcdir}/ctype_inline.h ${target_srcdir}/ctype_noninline.h ${target_srcdir}/os_defines.h ${glibcpp_srcdir}/@ATOMICITY_INC_SRCDIR@/atomicity.h ${glibcpp_srcdir}/@CPU_LIMITS_INC_SRCDIR@/cpu_limits.h
|
||||
|
||||
# These target_headers_extra files are all built with ad hoc naming rules.
|
||||
target_headers_extra = \
|
||||
${target_builddir}/basic_file.h \
|
||||
${target_builddir}/c++config.h \
|
||||
${target_builddir}/c++io.h \
|
||||
${target_builddir}/c++locale.h \
|
||||
${target_builddir}/messages_members.h \
|
||||
${target_builddir}/codecvt_specializations.h
|
||||
target_headers_extra = ${target_builddir}/basic_file.h ${target_builddir}/c++config.h ${target_builddir}/c++io.h ${target_builddir}/c++locale.h ${target_builddir}/messages_members.h ${target_builddir}/codecvt_specializations.h
|
||||
|
||||
|
||||
thread_target_headers = \
|
||||
${target_builddir}/gthr.h \
|
||||
${target_builddir}/gthr-single.h \
|
||||
${target_builddir}/gthr-posix.h \
|
||||
${target_builddir}/gthr-default.h
|
||||
thread_target_headers = ${target_builddir}/gthr.h ${target_builddir}/gthr-single.h ${target_builddir}/gthr-posix.h ${target_builddir}/gthr-default.h
|
||||
|
||||
|
||||
# List of all timestamp files. By keeping only one copy of this list, both
|
||||
# CLEANFILES and all-local are kept up-to-date.
|
||||
allstamps = \
|
||||
stamp-std stamp-bits stamp-c_base stamp-c_compatibility \
|
||||
stamp-backward stamp-ext \
|
||||
${target_builddir}/stamp-target
|
||||
allstamps = stamp-std stamp-bits stamp-c_base stamp-c_compatibility stamp-backward stamp-ext ${target_builddir}/stamp-target
|
||||
|
||||
|
||||
# Target includes for threads
|
||||
@ -463,7 +214,7 @@ DIST_COMMON = Makefile.am Makefile.in
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = gtar
|
||||
TAR = tar
|
||||
GZIP_ENV = --best
|
||||
all: all-redirect
|
||||
.SUFFIXES:
|
||||
|
@ -1,85 +0,0 @@
|
||||
// The template and inlines for the -*- C++ -*- slice class.
|
||||
|
||||
// Copyright (C) 1997-1999, 2001 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
// terms of the GNU General Public License as published by the
|
||||
// Free Software Foundation; either version 2, or (at your option)
|
||||
// any later version.
|
||||
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License along
|
||||
// with this library; see the file COPYING. If not, write to the Free
|
||||
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
// USA.
|
||||
|
||||
// As a special exception, you may use this file as part of a free software
|
||||
// library without restriction. Specifically, if other files instantiate
|
||||
// templates or use macros or inline functions from this file, or you compile
|
||||
// this file and link it with other files to produce an executable, this
|
||||
// file does not by itself cause the resulting executable to be covered by
|
||||
// the GNU General Public License. This exception does not however
|
||||
// invalidate any other reasons why the executable file might be covered by
|
||||
// the GNU General Public License.
|
||||
|
||||
// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
|
||||
|
||||
/** @file slice.h
|
||||
* This is an internal header file, included by other library headers.
|
||||
* You should not attempt to use it directly.
|
||||
*/
|
||||
|
||||
#ifndef _CPP_BITS_SLICE_H
|
||||
#define _CPP_BITS_SLICE_H 1
|
||||
|
||||
#pragma GCC system_header
|
||||
|
||||
namespace std
|
||||
{
|
||||
|
||||
class slice
|
||||
{
|
||||
public:
|
||||
slice ();
|
||||
slice (size_t, size_t, size_t);
|
||||
|
||||
size_t start () const;
|
||||
size_t size () const;
|
||||
size_t stride () const;
|
||||
|
||||
private:
|
||||
size_t _M_off; // offset
|
||||
size_t _M_sz; // size
|
||||
size_t _M_st; // stride unit
|
||||
};
|
||||
|
||||
inline slice::slice () {}
|
||||
|
||||
inline slice::slice (size_t __o, size_t __d, size_t __s)
|
||||
: _M_off (__o), _M_sz (__d), _M_st (__s) {}
|
||||
|
||||
inline size_t
|
||||
slice::start () const
|
||||
{ return _M_off; }
|
||||
|
||||
inline size_t
|
||||
slice::size () const
|
||||
{ return _M_sz; }
|
||||
|
||||
inline size_t
|
||||
slice::stride () const
|
||||
{ return _M_st; }
|
||||
|
||||
} // std::
|
||||
|
||||
|
||||
#endif /* _CPP_BITS_SLICE_H */
|
||||
|
||||
// Local Variables:
|
||||
// mode:c++
|
||||
// End:
|
@ -1,6 +1,6 @@
|
||||
// The template and inlines for the -*- C++ -*- slice_array class.
|
||||
|
||||
// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
@ -41,120 +41,156 @@
|
||||
|
||||
namespace std
|
||||
{
|
||||
class slice
|
||||
{
|
||||
public:
|
||||
slice();
|
||||
slice(size_t, size_t, size_t);
|
||||
|
||||
template<typename _Tp>
|
||||
size_t start() const;
|
||||
size_t size() const;
|
||||
size_t stride() const;
|
||||
|
||||
private:
|
||||
size_t _M_off; // offset
|
||||
size_t _M_sz; // size
|
||||
size_t _M_st; // stride unit
|
||||
};
|
||||
|
||||
// The default constructor constructor is not required to initialize
|
||||
// data members with any meaningful values, so we choose to do nothing.
|
||||
inline
|
||||
slice::slice() {}
|
||||
|
||||
inline
|
||||
slice::slice(size_t __o, size_t __d, size_t __s)
|
||||
: _M_off(__o), _M_sz(__d), _M_st(__s) {}
|
||||
|
||||
inline size_t
|
||||
slice::start() const
|
||||
{ return _M_off; }
|
||||
|
||||
inline size_t
|
||||
slice::size() const
|
||||
{ return _M_sz; }
|
||||
|
||||
inline size_t
|
||||
slice::stride() const
|
||||
{ return _M_st; }
|
||||
|
||||
template<typename _Tp>
|
||||
class slice_array
|
||||
{
|
||||
public:
|
||||
typedef _Tp value_type;
|
||||
typedef _Tp value_type;
|
||||
|
||||
// This constructor is implemented since we need to return a value.
|
||||
slice_array (const slice_array&);
|
||||
slice_array(const slice_array&);
|
||||
|
||||
// This operator must be public. See DR-253.
|
||||
slice_array& operator= (const slice_array&);
|
||||
slice_array& operator=(const slice_array&);
|
||||
|
||||
void operator=(const valarray<_Tp>&) const;
|
||||
void operator*=(const valarray<_Tp>&) const;
|
||||
void operator/=(const valarray<_Tp>&) const;
|
||||
void operator%=(const valarray<_Tp>&) const;
|
||||
void operator+=(const valarray<_Tp>&) const;
|
||||
void operator-=(const valarray<_Tp>&) const;
|
||||
void operator^=(const valarray<_Tp>&) const;
|
||||
void operator&=(const valarray<_Tp>&) const;
|
||||
void operator|=(const valarray<_Tp>&) const;
|
||||
void operator<<=(const valarray<_Tp>&) const;
|
||||
void operator>>=(const valarray<_Tp>&) const;
|
||||
void operator=(const _Tp &);
|
||||
// ~slice_array ();
|
||||
|
||||
template<class _Dom>
|
||||
void operator=(const _Expr<_Dom,_Tp>&) const;
|
||||
template<class _Dom>
|
||||
void operator*=(const _Expr<_Dom,_Tp>&) const;
|
||||
template<class _Dom>
|
||||
void operator/=(const _Expr<_Dom,_Tp>&) const;
|
||||
template<class _Dom>
|
||||
void operator%=(const _Expr<_Dom,_Tp>&) const;
|
||||
template<class _Dom>
|
||||
void operator+=(const _Expr<_Dom,_Tp>&) const;
|
||||
template<class _Dom>
|
||||
void operator-=(const _Expr<_Dom,_Tp>&) const;
|
||||
template<class _Dom>
|
||||
void operator^=(const _Expr<_Dom,_Tp>&) const;
|
||||
template<class _Dom>
|
||||
void operator&=(const _Expr<_Dom,_Tp>&) const;
|
||||
template<class _Dom>
|
||||
void operator|=(const _Expr<_Dom,_Tp>&) const;
|
||||
template<class _Dom>
|
||||
void operator<<=(const _Expr<_Dom,_Tp>&) const;
|
||||
template<class _Dom>
|
||||
void operator>>=(const _Expr<_Dom,_Tp>&) const;
|
||||
|
||||
void operator= (const valarray<_Tp>&) const;
|
||||
void operator*= (const valarray<_Tp>&) const;
|
||||
void operator/= (const valarray<_Tp>&) const;
|
||||
void operator%= (const valarray<_Tp>&) const;
|
||||
void operator+= (const valarray<_Tp>&) const;
|
||||
void operator-= (const valarray<_Tp>&) const;
|
||||
void operator^= (const valarray<_Tp>&) const;
|
||||
void operator&= (const valarray<_Tp>&) const;
|
||||
void operator|= (const valarray<_Tp>&) const;
|
||||
void operator<<= (const valarray<_Tp>&) const;
|
||||
void operator>>= (const valarray<_Tp>&) const;
|
||||
void operator= (const _Tp &);
|
||||
// ~slice_array ();
|
||||
|
||||
template<class _Dom>
|
||||
void operator= (const _Expr<_Dom,_Tp>&) const;
|
||||
template<class _Dom>
|
||||
void operator*= (const _Expr<_Dom,_Tp>&) const;
|
||||
template<class _Dom>
|
||||
void operator/= (const _Expr<_Dom,_Tp>&) const;
|
||||
template<class _Dom>
|
||||
void operator%= (const _Expr<_Dom,_Tp>&) const;
|
||||
template<class _Dom>
|
||||
void operator+= (const _Expr<_Dom,_Tp>&) const;
|
||||
template<class _Dom>
|
||||
void operator-= (const _Expr<_Dom,_Tp>&) const;
|
||||
template<class _Dom>
|
||||
void operator^= (const _Expr<_Dom,_Tp>&) const;
|
||||
template<class _Dom>
|
||||
void operator&= (const _Expr<_Dom,_Tp>&) const;
|
||||
template<class _Dom>
|
||||
void operator|= (const _Expr<_Dom,_Tp>&) const;
|
||||
template<class _Dom>
|
||||
void operator<<= (const _Expr<_Dom,_Tp>&) const;
|
||||
template<class _Dom>
|
||||
void operator>>= (const _Expr<_Dom,_Tp>&) const;
|
||||
|
||||
private:
|
||||
friend class valarray<_Tp>;
|
||||
slice_array(_Array<_Tp>, const slice&);
|
||||
|
||||
const size_t _M_sz;
|
||||
const size_t _M_stride;
|
||||
const _Array<_Tp> _M_array;
|
||||
friend class valarray<_Tp>;
|
||||
slice_array(_Array<_Tp>, const slice&);
|
||||
|
||||
// not implemented
|
||||
slice_array ();
|
||||
const size_t _M_sz;
|
||||
const size_t _M_stride;
|
||||
const _Array<_Tp> _M_array;
|
||||
|
||||
// not implemented
|
||||
slice_array();
|
||||
};
|
||||
|
||||
template<typename _Tp>
|
||||
inline slice_array<_Tp>::slice_array (_Array<_Tp> __a, const slice& __s)
|
||||
: _M_sz (__s.size ()), _M_stride (__s.stride ()),
|
||||
_M_array (__a.begin () + __s.start ()) {}
|
||||
|
||||
|
||||
template<typename _Tp>
|
||||
inline slice_array<_Tp>::slice_array(const slice_array<_Tp>& a)
|
||||
: _M_sz(a._M_sz), _M_stride(a._M_stride), _M_array(a._M_array) {}
|
||||
|
||||
// template<typename _Tp>
|
||||
// inline slice_array<_Tp>::~slice_array () {}
|
||||
template<typename _Tp>
|
||||
inline
|
||||
slice_array<_Tp>::slice_array(_Array<_Tp> __a, const slice& __s)
|
||||
: _M_sz(__s.size()), _M_stride(__s.stride()),
|
||||
_M_array(__a.begin() + __s.start()) {}
|
||||
|
||||
template<typename _Tp>
|
||||
inline slice_array<_Tp>&
|
||||
slice_array<_Tp>::operator=(const slice_array<_Tp>& __a)
|
||||
{
|
||||
__valarray_copy(_M_array, _M_sz, _M_stride, __a._M_array, __a._M_stride);
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
template<typename _Tp>
|
||||
inline void
|
||||
slice_array<_Tp>::operator= (const _Tp& __t)
|
||||
{ __valarray_fill (_M_array, _M_sz, _M_stride, __t); }
|
||||
inline
|
||||
slice_array<_Tp>::slice_array(const slice_array<_Tp>& a)
|
||||
: _M_sz(a._M_sz), _M_stride(a._M_stride), _M_array(a._M_array) {}
|
||||
|
||||
template<typename _Tp>
|
||||
// template<typename _Tp>
|
||||
// inline slice_array<_Tp>::~slice_array () {}
|
||||
|
||||
template<typename _Tp>
|
||||
inline slice_array<_Tp>&
|
||||
slice_array<_Tp>::operator=(const slice_array<_Tp>& __a)
|
||||
{
|
||||
__valarray_copy(_M_array, _M_sz, _M_stride, __a._M_array, __a._M_stride);
|
||||
return *this;
|
||||
}
|
||||
|
||||
template<typename _Tp>
|
||||
inline void
|
||||
slice_array<_Tp>::operator= (const valarray<_Tp>& __v) const
|
||||
slice_array<_Tp>::operator=(const _Tp& __t)
|
||||
{ __valarray_fill(_M_array, _M_sz, _M_stride, __t); }
|
||||
|
||||
template<typename _Tp>
|
||||
inline void
|
||||
slice_array<_Tp>::operator=(const valarray<_Tp>& __v) const
|
||||
{ __valarray_copy (_Array<_Tp> (__v), _M_array, _M_sz, _M_stride); }
|
||||
|
||||
template<typename _Tp>
|
||||
template<class _Dom>
|
||||
template<typename _Tp>
|
||||
template<class _Dom>
|
||||
inline void
|
||||
slice_array<_Tp>::operator= (const _Expr<_Dom,_Tp>& __e) const
|
||||
slice_array<_Tp>::operator=(const _Expr<_Dom,_Tp>& __e) const
|
||||
{ __valarray_copy (__e, _M_sz, _M_array, _M_stride); }
|
||||
|
||||
#undef _DEFINE_VALARRAY_OPERATOR
|
||||
#define _DEFINE_VALARRAY_OPERATOR(op, name) \
|
||||
#define _DEFINE_VALARRAY_OPERATOR(_Op,_Nname) \
|
||||
template<typename _Tp> \
|
||||
inline void \
|
||||
slice_array<_Tp>::operator op##= (const valarray<_Tp>& __v) const \
|
||||
slice_array<_Tp>::operator _Op##= (const valarray<_Tp>& __v) const \
|
||||
{ \
|
||||
_Array_augmented_##name (_M_array, _M_sz, _M_stride, _Array<_Tp> (__v));\
|
||||
_Array_augmented_##_Name (_M_array, _M_sz, _M_stride, _Array<_Tp> (__v));\
|
||||
} \
|
||||
\
|
||||
template<typename _Tp> template<class _Dom> \
|
||||
inline void \
|
||||
slice_array<_Tp>::operator op##= (const _Expr<_Dom,_Tp>& __e) const \
|
||||
slice_array<_Tp>::operator _Op##= (const _Expr<_Dom,_Tp>& __e) const \
|
||||
{ \
|
||||
_Array_augmented_##name (_M_array, _M_stride, __e, _M_sz); \
|
||||
_Array_augmented_##_Name (_M_array, _M_stride, __e, _M_sz); \
|
||||
}
|
||||
|
||||
|
||||
|
@ -254,7 +254,6 @@ namespace std
|
||||
|
||||
} // std::
|
||||
|
||||
#include <bits/slice.h>
|
||||
#include <bits/slice_array.h>
|
||||
#include <bits/gslice.h>
|
||||
#include <bits/gslice_array.h>
|
||||
|
62
libstdc++-v3/testsuite/26_numerics/slice.cc
Normal file
62
libstdc++-v3/testsuite/26_numerics/slice.cc
Normal file
@ -0,0 +1,62 @@
|
||||
// 20020717 gdr
|
||||
|
||||
// Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
// terms of the GNU General Public License as published by the
|
||||
// Free Software Foundation; either version 2, or (at your option)
|
||||
// any later version.
|
||||
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License along
|
||||
// with this library; see the file COPYING. If not, write to the Free
|
||||
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
// USA.
|
||||
|
||||
// Test slice class invariants
|
||||
|
||||
#include <valarray>
|
||||
#include <cstdlib>
|
||||
#include <testsuite_hooks.h>
|
||||
|
||||
bool
|
||||
construction(int start, int size, int stride)
|
||||
{
|
||||
std::slice s(start, size, stride);
|
||||
return s.start() == start && s.size() == size && s.stride() == stride;
|
||||
}
|
||||
|
||||
bool
|
||||
copy(int start, int size, int stride)
|
||||
{
|
||||
std::slice s(start, size, stride);
|
||||
std::slice t = s;
|
||||
return t.start() == start && t.size() == size && t.stride() == stride;
|
||||
}
|
||||
|
||||
bool
|
||||
assignment(int start, int size, int stride)
|
||||
{
|
||||
std::slice s(start, size, stride);
|
||||
std::slice t;
|
||||
t = s;
|
||||
return t.start() == start && t.size() == size && t.stride() == stride;
|
||||
}
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
std::srand(20020717); using std::rand;
|
||||
VERIFY(construction(rand(), rand(), rand()));
|
||||
|
||||
VERIFY(copy(rand(), rand(), rand()));
|
||||
|
||||
VERIFY(assignment(rand(), rand(), rand()));
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user