diff --git a/groups/bsl/bsl+bslhdrs/bsl_algorithm.h b/groups/bsl/bsl+bslhdrs/bsl_algorithm.h index d9f11bb7c4..53b9cc9e6a 100644 --- a/groups/bsl/bsl+bslhdrs/bsl_algorithm.h +++ b/groups/bsl/bsl+bslhdrs/bsl_algorithm.h @@ -23,10 +23,6 @@ BSLS_IDENT("$Id: $") #include -#ifndef BDE_OPENSOURCE_PUBLICATION // STP -#include -#endif // BDE_OPENSOURCE_PUBLICATION -- STP - #endif // ---------------------------------------------------------------------------- diff --git a/groups/bsl/bslim/bslim_bslstandardheadertest.t.cpp b/groups/bsl/bslim/bslim_bslstandardheadertest.t.cpp index e8e7f0e7f2..0d0fa0a5cf 100644 --- a/groups/bsl/bslim/bslim_bslstandardheadertest.t.cpp +++ b/groups/bsl/bslim/bslim_bslstandardheadertest.t.cpp @@ -972,17 +972,12 @@ int main(int argc, char *argv[]) out.push_back(i + 10); } - ConstIterator EXPECTED_IN = in.cbegin() + NUM_ITEMS_TO_COPY; - Iterator EXPECTED_OUT = out.begin() + NUM_ITEMS_TO_COPY; + ConstIterator EXPECTED_OUT = out.begin() + NUM_ITEMS_TO_COPY; - bsl::pair result = + Iterator result = bsl::copy_n(in.cbegin(), NUM_ITEMS_TO_COPY, out.begin()); - ConstIterator resultIn = result.first; - Iterator resultOut = result.second; - - ASSERT(EXPECTED_IN == resultIn); - ASSERT(EXPECTED_OUT == resultOut); + ASSERT(EXPECTED_OUT == result); for (size_t i = 0; i < NUM_ITEMS_TO_COPY; ++i) { ASSERTV(in[i], out[i], in[i] == out[i]); diff --git a/groups/bsl/bslstl/bslstl_algorithm.h b/groups/bsl/bslstl/bslstl_algorithm.h index 36c63de25f..958abe5fe9 100644 --- a/groups/bsl/bslstl/bslstl_algorithm.h +++ b/groups/bsl/bslstl/bslstl_algorithm.h @@ -170,11 +170,8 @@ namespace bsl { using std::any_of; using std::copy_if; - // 'copy_n' is implemented separately in 'bslstp_exalgorithm' for backwards - // compatibility with the previous STLport definition (which differs from - // the platform implementation). - // - // using std::(copy_n); + using std::copy_n; + #define BSLSTL_ALGORITHM_COPY_N_IS_ALIASED using std::find_if_not; using std::is_heap; @@ -487,6 +484,21 @@ namespace ranges { } // close namespace bsl + + +#ifndef BSLSTL_ALGORITHM_COPY_N_IS_ALIASED +namespace bsl { +template +inline +t_OUTPUT_ITERATOR copy_n(t_INPUT_ITERATOR first, + t_SIZE count, + t_OUTPUT_ITERATOR result); + // Copy the specified 'count' elements from the specified 'first' to the + // specified 'result'. Return an iterator pointing past the last copied + // element in the output range. +} // close namespace bsl +#endif // BSLSTL_ALGORITHM_COPY_N_IS_ALIASED + // ============================================================================ // INLINE DEFINITIONS // ============================================================================ @@ -672,6 +684,18 @@ bsl::search(FORWARD_ITERATOR first, } #endif // BSLS_LIBRARYFEATURES_HAS_CPP17_SEARCH_OVERLOAD +#ifndef BSLSTL_ALGORITHM_COPY_N_IS_ALIASED +template +inline +t_OUTPUT_ITERATOR bsl::copy_n(t_INPUT_ITERATOR first, + t_SIZE count, + t_OUTPUT_ITERATOR result) +{ + return BloombergLP::bslstl::AlgorithmUtil::copyN(first, + count, + result); +} +#endif // BSLSTL_ALGORITHM_COPY_N_IS_ALIASED #endif // INCLUDED_BSLSTL_ALGORITHM diff --git a/groups/bsl/bslstp/bslstp_exalgorithm.cpp b/groups/bsl/bslstp/bslstp_exalgorithm.cpp deleted file mode 100644 index 589d03b913..0000000000 --- a/groups/bsl/bslstp/bslstp_exalgorithm.cpp +++ /dev/null @@ -1,25 +0,0 @@ -// bslstp_exalgorithm.cpp -*-C++-*- -#ifndef BDE_OPENSOURCE_PUBLICATION // STP - -#include - -#include -BSLS_IDENT("$Id$ $CSID$") - -#endif // BDE_OPENSOURCE_PUBLICATION -- STP - -// ---------------------------------------------------------------------------- -// Copyright 2013 Bloomberg Finance L.P. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// ----------------------------- END-OF-FILE ---------------------------------- diff --git a/groups/bsl/bslstp/bslstp_exalgorithm.h b/groups/bsl/bslstp/bslstp_exalgorithm.h deleted file mode 100644 index 07bfe3f81d..0000000000 --- a/groups/bsl/bslstp/bslstp_exalgorithm.h +++ /dev/null @@ -1,179 +0,0 @@ -// bslstp_exalgorithm.h -*-C++-*- -#ifndef INCLUDED_BSLSTP_EXALGORITHM -#define INCLUDED_BSLSTP_EXALGORITHM - -#include -BSLS_IDENT("$Id: $") - -//@PURPOSE: Provide a namespace for algorithm extensions. -// -//@INTERNAL_DEPRECATED: Do not use directly. -// -//@CLASSES: -// bslstp::exalgorithm::copy_n: copy 'n' elements -// -//@CANONICAL_HEADER: bsl_algorithm.h -// -//@SEE_ALSO: bsl_algorithm -// -//@DESCRIPTION: This component is for internal use only. Please include -// '' instead. This component provides a namespace for -// algorithm extensions that are not specified in the C++ standard. This -// provides backward compatibility to code using extensions that STLPort -// provides. -// -// Note that the functions in this component are based on STLPort's -// implementation, with copyright notice as follows: -//.. -//----------------------------------------------------------------------------- -// Copyright (c) 1994 -// Hewlett-Packard Company -// -// Copyright (c) 1996,1997 -// Silicon Graphics Computer Systems, Inc. -// -// Copyright (c) 1997 -// Moscow Center for SPARC Technology -// -// Copyright (c) 1999 -// Boris Fomitchev -// -// This material is provided "as is", with absolutely no warranty expressed -// or implied. Any use is at your own risk. -// -// Permission to use or copy this software for any purpose is hereby granted -// without fee, provided the above notices are retained on all copies. -// Permission to modify the code and to distribute modified code is granted, -// provided the above notices are retained, and a notice that the code was -// modified is included with the above copyright notice. -//----------------------------------------------------------------------------- -//.. -// -///Usage -///----- -// This component is for internal use only. - -#ifdef BDE_OPENSOURCE_PUBLICATION // STP -#error "bslstp_exalgorithm is not for publication" -#endif - -#include - -#include // iterator tags -#include - -#include - -#include // 'copy' - -#ifndef BDE_DONT_ALLOW_TRANSITIVE_INCLUDES -#include -#endif // BDE_DONT_ALLOW_TRANSITIVE_INCLUDES - -namespace bsl { - // ============== - // class CopyNRet - // ============== - -template -class CopyNRet { - // This class is an adapter, allowing users of the 'bsl::copy_n' function - // to seamlessly switch from one return type of that function to another. - // This class is created for a strictly defined task and is not intended - // for use outside the BDE library. Do not use it under any circumstances. - - private: - // DATA - pair d_data; // value returned from 'bsl::copy_n' - - public: - // PUBLIC DATA - t_OUTPUT_IT& second; // alias for output iterator in - // returned value - - // CREATORS - CopyNRet(t_INPUT_IT iit, t_OUTPUT_IT oit) - // Create a 'StringRefData' object having the pair of specified 'iit' - // and 'oit' itarators as a value. - : d_data(iit, oit) - , second(d_data.second) - { - } - - // ACCESSORS - template - operator pair() const - // Return a pair of iterators having the value returned from - // 'bsl::copy_n'. - { - return d_data; - } - - operator t_OUTPUT_IT() const - // Return an output iterator having the value of output iterator - // returned from 'bsl::copy_n'. - { - return second; - } -}; - -// PRIVATE FREE FUNCTIONS -template -CopyNRet -bslstp_ExAlgorithm_CopyNImp(InputIter first, - Size count, - OutputIter result, - const input_iterator_tag&) -{ - for ( ; count > 0; --count) { - *result = *first; - ++first; - ++result; - } - return CopyNRet(first, result); -} - -template -inline -CopyNRet -bslstp_ExAlgorithm_CopyNImp(RAIter first, - Size count, - OutputIter result, - const random_access_iterator_tag&) -{ - RAIter last = first + count; - return CopyNRet(last, std::copy(first, last, result)); -} - -// FREE FUNCTIONS -template -inline -CopyNRet copy_n(InputIter first, - Size count, - OutputIter result) - // Copy the specified 'count' elements from the specified 'first' address - // to the specified 'result' address. -{ - typedef typename iterator_traits::iterator_category tag; - return bslstp_ExAlgorithm_CopyNImp(first, count, result, tag()); -} - -} // close namespace bsl - -#endif - -// ---------------------------------------------------------------------------- -// Copyright 2013 Bloomberg Finance L.P. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// ----------------------------- END-OF-FILE ---------------------------------- diff --git a/groups/bsl/bslstp/bslstp_exalgorithm.t.cpp b/groups/bsl/bslstp/bslstp_exalgorithm.t.cpp deleted file mode 100644 index 4d3e556c01..0000000000 --- a/groups/bsl/bslstp/bslstp_exalgorithm.t.cpp +++ /dev/null @@ -1,372 +0,0 @@ -// bslstp_exalgorithm.t.cpp -*-C++-*- -#ifndef BDE_OPENSOURCE_PUBLICATION // STP - -#include - -#endif // BDE_OPENSOURCE_PUBLICATION -- STP - -#include -#include -#include -#include - -#include -#include -#include - -#include -#include // memset, strncpy - -using namespace BloombergLP; - -//============================================================================= -// TEST PLAN -//----------------------------------------------------------------------------- -// Overview -// -------- -// This component provides backwards legacy features for backwards -// compatibility with STLPort. -// ---------------------------------------------------------------------------- -// [ 1] pair bsl::copy_n(InputIter,Size,OutputIter); - -// ============================================================================ -// STANDARD BSL ASSERT TEST FUNCTION -// ---------------------------------------------------------------------------- - -namespace { - -int testStatus = 0; - -void aSsErT(bool condition, const char *message, int line) -{ - if (condition) { - printf("Error " __FILE__ "(%d): %s (failed)\n", line, message); - - if (0 <= testStatus && testStatus <= 100) { - ++testStatus; - } - } -} - -} // close unnamed namespace - - -// ============================================================================ -// STANDARD BSL TEST DRIVER MACRO ABBREVIATIONS -// ---------------------------------------------------------------------------- - -#define ASSERT BSLS_BSLTESTUTIL_ASSERT -#define ASSERTV BSLS_BSLTESTUTIL_ASSERTV - -#define LOOP_ASSERT BSLS_BSLTESTUTIL_LOOP_ASSERT -#define LOOP0_ASSERT BSLS_BSLTESTUTIL_LOOP0_ASSERT -#define LOOP1_ASSERT BSLS_BSLTESTUTIL_LOOP1_ASSERT -#define LOOP2_ASSERT BSLS_BSLTESTUTIL_LOOP2_ASSERT -#define LOOP3_ASSERT BSLS_BSLTESTUTIL_LOOP3_ASSERT -#define LOOP4_ASSERT BSLS_BSLTESTUTIL_LOOP4_ASSERT -#define LOOP5_ASSERT BSLS_BSLTESTUTIL_LOOP5_ASSERT -#define LOOP6_ASSERT BSLS_BSLTESTUTIL_LOOP6_ASSERT - -#define Q BSLS_BSLTESTUTIL_Q // Quote identifier literally. -#define P BSLS_BSLTESTUTIL_P // Print identifier and value. -#define P_ BSLS_BSLTESTUTIL_P_ // P(X) without '\n'. -#define T_ BSLS_BSLTESTUTIL_T_ // Print a tab (w/o newline). -#define L_ BSLS_BSLTESTUTIL_L_ // current Line number - -// ============================================================================ -// NEGATIVE-TEST MACRO ABBREVIATIONS -// ---------------------------------------------------------------------------- - -#define ASSERT_SAFE_PASS(EXPR) BSLS_ASSERTTEST_ASSERT_SAFE_PASS(EXPR) -#define ASSERT_SAFE_FAIL(EXPR) BSLS_ASSERTTEST_ASSERT_SAFE_FAIL(EXPR) -#define ASSERT_PASS(EXPR) BSLS_ASSERTTEST_ASSERT_PASS(EXPR) -#define ASSERT_FAIL(EXPR) BSLS_ASSERTTEST_ASSERT_FAIL(EXPR) -#define ASSERT_OPT_PASS(EXPR) BSLS_ASSERTTEST_ASSERT_OPT_PASS(EXPR) -#define ASSERT_OPT_FAIL(EXPR) BSLS_ASSERTTEST_ASSERT_OPT_FAIL(EXPR) - -#define ASSERT_SAFE_PASS_RAW(EXPR) BSLS_ASSERTTEST_ASSERT_SAFE_PASS_RAW(EXPR) -#define ASSERT_SAFE_FAIL_RAW(EXPR) BSLS_ASSERTTEST_ASSERT_SAFE_FAIL_RAW(EXPR) -#define ASSERT_PASS_RAW(EXPR) BSLS_ASSERTTEST_ASSERT_PASS_RAW(EXPR) -#define ASSERT_FAIL_RAW(EXPR) BSLS_ASSERTTEST_ASSERT_FAIL_RAW(EXPR) -#define ASSERT_OPT_PASS_RAW(EXPR) BSLS_ASSERTTEST_ASSERT_OPT_PASS_RAW(EXPR) -#define ASSERT_OPT_FAIL_RAW(EXPR) BSLS_ASSERTTEST_ASSERT_OPT_FAIL_RAW(EXPR) - -// ============================================================================ -// PRINTF FORMAT MACRO ABBREVIATIONS -// ---------------------------------------------------------------------------- - -// ============================================================================ -// OTHER MACROS -// ---------------------------------------------------------------------------- - -//============================================================================= -// GLOBAL TYPEDEFS/CONSTANTS FOR TESTING -//----------------------------------------------------------------------------- -static bool verbose; -static bool veryVerbose; -static bool veryVeryVerbose; -static bool veryVeryVeryVerbose; - -//============================================================================= -// GLOBAL HELPER FUNCTIONS FOR TESTING -//----------------------------------------------------------------------------- - -//============================================================================= -// MAIN PROGRAM -//----------------------------------------------------------------------------- -#ifndef BDE_OPENSOURCE_PUBLICATION // STP - -int main(int argc, char *argv[]) -{ - int test = argc > 1 ? atoi(argv[1]) : 0; - verbose = argc > 2; - veryVerbose = argc > 3; - veryVeryVerbose = argc > 4; - veryVeryVeryVerbose = argc > 5; - - printf("TEST " __FILE__ " CASE %d\n", test); - - switch (test) { case 0: // Zero is always the leading case. - case 1: { - // -------------------------------------------------------------------- - // TESTING 'bsl::copy_n' - // - // Concerns: - //: 1 The 'copy_n' returns an object of a class that can be implicitly - //: converted either to a pair of iterators pointing past the last - //: copied element in the input range and past the last copied - //: element in the output range or to an output iterator pointing - //: past the last copied element in the output range. - //: - //: 2 Existing users of 'bsl::copy_n' can be relatively seamlessly - //: transferred to the new type of return value. - // - // Plan: - //: 1 Create a couple of char arrays and copy part of the contents of - //: one array to another. Assign returned value to the pair of - //: iterators and to the one iterator. Verify the return value and - //: contents of arrays. (C-1) - //: - //: 2 Reproduce our clients' existing code and verify that it supports - //: both the old and new return types. (C-2) - // - // Testing: - // pair bsl::copy_n(InputIter,Size,OutputIter); - // -------------------------------------------------------------------- - - if (verbose) - printf("\nTESTING 'bsl::copy_n'\n" - "\n=====================\n"); - - if (verbose) printf("Testing basic behavior.\n"); - { - const int MAX_SYMBOLS = 16; - const int NUM_SYMBOLS = 8; - const char in[MAX_SYMBOLS] = "hello world"; - - // pair - { - char out[MAX_SYMBOLS]; - char * const EXPECTED_OUT = out + NUM_SYMBOLS; - char const * const EXPECTED_IN = in + NUM_SYMBOLS; - std::memset(out, 0, MAX_SYMBOLS); - - ASSERT(0 < std::strncmp(in, out, NUM_SYMBOLS)); - - bsl::pair result = bsl::copy_n( - in, - NUM_SYMBOLS, - out); - - const char *resultIn = result.first; - char *resultOut = result.second; - - ASSERT(EXPECTED_IN == resultIn); - ASSERT(EXPECTED_OUT == resultOut); - ASSERT(0 == std::strncmp(in, out, NUM_SYMBOLS)); - ASSERT(0 == out[NUM_SYMBOLS]); - } - // iterator - { - char out[MAX_SYMBOLS]; - char * const EXPECTED_OUT = out + NUM_SYMBOLS; - std::memset(out, 0, MAX_SYMBOLS); - - ASSERT(0 < std::strncmp(in, out, NUM_SYMBOLS)); - - char *result = bsl::copy_n(in, NUM_SYMBOLS, out); - - ASSERT(EXPECTED_OUT == result); - ASSERT(0 == std::strncmp(in, out, NUM_SYMBOLS)); - ASSERT(0 == out[NUM_SYMBOLS]); - } - // 'second' field - { - char out[MAX_SYMBOLS]; - char * const EXPECTED_OUT = out + NUM_SYMBOLS; - std::memset(out, 0, MAX_SYMBOLS); - - ASSERT(0 < std::strncmp(in, out, NUM_SYMBOLS)); - - char *result = bsl::copy_n(in, NUM_SYMBOLS, out).second; - - ASSERT(EXPECTED_OUT == result); - ASSERT(0 == std::strncmp(in, out, NUM_SYMBOLS)); - ASSERT(0 == out[NUM_SYMBOLS]); - } - } - - if (verbose) printf("Testing clients code.\n"); - { -#ifdef BSLS_LIBRARYFEATURES_HAS_CPP11_BASELINE_LIBRARY - // moaprsvc - { - const int CONTAINER_SIZE = 4; - - typedef bsl::array Output; - typedef Output::iterator OutputIterator; - - Output outputOriginal; - Output outputModified; - char input[] = {'a', 'b', 'c', 'd'}; - Output expected = {'a', 'b', 0, 0}; - const int NUM_TO_COPY = 2; - OutputIterator expectedOriginal = - outputOriginal.begin() + NUM_TO_COPY; - OutputIterator expectedModified = - outputModified.begin() + NUM_TO_COPY; - - const auto resultOriginal = bsl::copy_n( - &input[0], - NUM_TO_COPY, - outputOriginal.begin()).second; - - ASSERT(expectedOriginal == resultOriginal); - - bsl::fill(resultOriginal, outputOriginal.end(), 0); - ASSERT(expected == outputOriginal); - - - // Note that we need to explicitly specify the type of the - // returned value. Otherwise 'auto' type is deduced as - // 'CopyNRet' and 'bsl::fill' calling fails to compile. - const OutputIterator resultModified = bsl::copy_n( - &input[0], - NUM_TO_COPY, - outputModified.begin()); - - ASSERT(expectedModified == resultModified); - - bsl::fill(resultModified, outputModified.end(), 0); - ASSERT(expected == outputOriginal); - } -#endif // BSLS_LIBRARYFEATURES_HAS_CPP11_BASELINE_LIBRARY - - // datalayer/bbnodeapi - { - const int CONTAINER_SIZE = 4; - bsl::string_view input = "test"; - char outputOriginal[] = {'a', 'b', 'c', 'd'}; - char outputModified[] = {'a', 'b', 'c', 'd'}; - char expected[] = {'t', 'e', '!', 'd'}; - const int NUM_TO_COPY = 2; - char *expectedOriginal = - outputOriginal + NUM_TO_COPY; - char *expectedModified = - outputModified + NUM_TO_COPY; - - char *resultOriginal = bsl::copy_n(input.cbegin(), - NUM_TO_COPY, - outputOriginal).second; - - ASSERT(expectedOriginal == resultOriginal); - *resultOriginal = '!'; - - ASSERT(0 == std::strncmp(expected, - outputOriginal, - CONTAINER_SIZE)); - - char *resultModified = bsl::copy_n(input.cbegin(), - NUM_TO_COPY, - outputModified); - - ASSERT(expectedModified == resultModified); - *resultModified = '!'; - - ASSERT(0 == std::strncmp(expected, - outputModified, - CONTAINER_SIZE)); - } - - // datalayer/gdxzhs - { - typedef bsl::vector Vector; - typedef Vector::iterator Iterator; - - const int NUM_TO_COPY = 1; - Vector input; - for (int i = 0; i< NUM_TO_COPY; ++i) { - input.push_back(i); - } - Iterator inputIt = input.begin(); - - Vector outputOriginal(input.size()); - Vector outputModified(input.size()); - Iterator resultOriginal = outputOriginal.begin(); - Iterator resultModified = outputModified.begin(); - Iterator expectedOriginal = - outputOriginal.begin() + NUM_TO_COPY; - Iterator expectedModified = - outputModified.begin() + NUM_TO_COPY; - - for (; - inputIt != input.end(); - inputIt += NUM_TO_COPY, - expectedOriginal += NUM_TO_COPY, - expectedModified += NUM_TO_COPY) { - resultOriginal = bsl::copy_n(inputIt, - NUM_TO_COPY, - resultOriginal).second; - resultModified = bsl::copy_n(inputIt, - NUM_TO_COPY, - resultModified); - ASSERT(expectedOriginal == resultOriginal); - ASSERT(expectedModified == resultModified); - } - - ASSERT(input == outputOriginal); - ASSERT(input == outputModified); - } - } - } break; - default: { - fprintf(stderr, "WARNING: CASE `%d' NOT FOUND.\n", test); - testStatus = -1; - } - } - - if (testStatus > 0) { - fprintf(stderr, "Error, non-Zero test status = %d.\n", testStatus); - } - - return testStatus; -} -#else -int main() { return -1; } // empty test driver -#endif // BDE_OPENSOURCE_PUBLICATION // STP - -// ---------------------------------------------------------------------------- -// Copyright 2013 Bloomberg Finance L.P. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// ----------------------------- END-OF-FILE ---------------------------------- diff --git a/groups/bsl/bslstp/doc/bslstp.txt b/groups/bsl/bslstp/doc/bslstp.txt index 08a19a30b7..1888d05939 100644 --- a/groups/bsl/bslstp/doc/bslstp.txt +++ b/groups/bsl/bslstp/doc/bslstp.txt @@ -18,7 +18,7 @@ /Hierarchical Synopsis /--------------------- - The 'bslstp' package currently has 11 components having 3 levels of physical + The 'bslstp' package currently has 10 components having 3 levels of physical dependency. The list below shows the hierarchical ordering of the components. The order of components within each level is not architecturally significant, just alphabetical. @@ -30,7 +30,6 @@ bslstp_slist !DEPRECATED! 1. bslstp_alloc !DEPRECATED! - bslstp_exalgorithm !DEPRECATED! bslstp_exfunctional !DEPRECATED! bslstp_hash !DEPRECATED! bslstp_iterator !DEPRECATED! @@ -43,9 +42,6 @@ : 'bslstp_alloc': !DEPRECATED! : Provide facilities for STLPort implementation. : -: 'bslstp_exalgorithm': !DEPRECATED! -: Provide a namespace for algorithm extensions. -: : 'bslstp_exfunctional': !DEPRECATED! : Provide a namespace for functional extensions. : diff --git a/groups/bsl/bslstp/package/bslstp.mem b/groups/bsl/bslstp/package/bslstp.mem index fc843f1287..5575c780de 100644 --- a/groups/bsl/bslstp/package/bslstp.mem +++ b/groups/bsl/bslstp/package/bslstp.mem @@ -1,5 +1,4 @@ bslstp_alloc -bslstp_exalgorithm bslstp_exfunctional bslstp_hash bslstp_hashmap