void f() { S<int> a; a.f(); // expected-note{{in instantiation of member function 'PR11630::S<int>::f' requested here}} S2<1> b; b.f(); S2<2> b2; b2.f(); // expected-note{{in instantiation of member function 'PR11630::S2<2>::f' requested here}} }
void time_test(const S1& s1, const S2& s2, S3& s3, Op op, size_t n, size_t m) { typedef typename S1::iterator I; timer t; t.start(); for (int i = 0; i < m; ++i) std::transform(s1.begin(), s1.end(), s2.begin(), s3.begin(), op); double time = t.stop()/(double(n) * m); std::cout << std::setw(6) << std::fixed << std::setprecision(2) << time << "\t"; }
void test3(S2 s2) { s2->f(); X foo; }
associative_range(S2 &seq) : m_position(seq.begin()) , m_last(seq.end()) {}
inline ws_uint64_t load_text_file_impl(S1 const& fileName, S2 &contents) { typedef string_traits<S1> string_traits_t; STLSOFT_STATIC_ASSERT(sizeof(string_traits_t)); // Fires if S1 does not have a traits specialisation defined typedef string_traits<S2> string_traits2_t; STLSOFT_STATIC_ASSERT(sizeof(string_traits2_t)); // Fires if S2 does not have a traits specialisation defined typedef ss_typename_type_k string_traits_t::char_type C; STLSOFT_STATIC_ASSERT(sizeof(C)); // Fires if the traits is not correctly defined typedef ss_typename_type_k string_traits2_t::char_type char_2_type; STLSOFT_STATIC_ASSERT(sizeof(char_2_type)); // Fires if the traits is not correctly defined typedef filesystem_traits<C> filesys_traits_t; STLSOFT_STATIC_ASSERT(sizeof(filesys_traits_t)); // Fires if no corresponding filesystem_traits defined scoped_handle<HANDLE> h( filesys_traits_t::create_file( stlsoft_ns_qual(c_str_ptr)(fileName) , GENERIC_READ , FILE_SHARE_READ , NULL , OPEN_EXISTING , 0 , NULL) , (void (STLSOFT_CDECL *)(HANDLE))&filesys_traits_t::close_handle // This cast required by VC++ 5 , INVALID_HANDLE_VALUE); if(INVALID_HANDLE_VALUE == h.get()) { STLSOFT_THROW_X(windows_exception("File does not exist", ::GetLastError())); } ws_uint64_t size = filesys_traits_t::get_file_size(h.get()); if( 0 != size && static_cast<ws_uint64_t>(~0) != size) { if(size > 0xFFFFFFFF) { STLSOFT_THROW_X(winstl_ns_qual_std(out_of_range)("Cannot read in files larger than 4GB")); } else { // TODO: Catch the out-of-memory exception and translate to a std::out_of_range() typedef ::stlsoft::auto_buffer_old< char_2_type , processheap_allocator<char_2_type> , 1024 > buffer_t; buffer_t buffer(static_cast<ss_typename_type_k buffer_t::size_type>(size)); DWORD dw; if(!::ReadFile(h.get(), &buffer[0], buffer.size(), &dw, NULL)) { STLSOFT_THROW_X(windows_exception("Read operation failed", ::GetLastError())); } else { contents.assign(&buffer[0], dw); return size; } } } return 0; }
static inline void set_difference(const S1 &src1, const S2 &src2, D &dst) { std::set_difference( src1.begin(), src1.end(), src2.begin(), src2.end(), std::inserter(dst, dst.begin())); }