-- vm9
~~ tuple:  get<N>   (works for clang only)

cl scc -A 'vt9*get<0>'
{1, 2, 3, 4, 5, 6, 7, 8, 9}

cl scc -A 'vt9*get<1>'
{a, bb, ccc, dddd, eeeee, ffffff, ggggggg, hhhhhhhh, kkkkkkkkk}
cr: fixed: tuple-rg * F  and  rg * bind(...) both work

cl scc  'vt9 * get<0>'
{1, 2, 3, 4, 5, 6, 7, 8, 9}

cl scc 'v9 * bind((const int& (*)(const int&, const int&))min, 3, _1)'
{0, 1, 2, 3, 3, 3, 3, 3, 3, 3}
-- MK_TUPLE_OVERLOAD
-- u-range
fixed: cr ol for tuples, for case when type-0 and type-1 are same types
functors:  add, sub, mul, div

scc 'v9 || add'
45
plain chain_range works, cr_mapped - compiles

cl scc 'v9 || add '
45
~~ vs9 * size -- works
cr_mapped

cl scc 'vc9 * strlen || plus<int>()'
45
~~ file raname:  basic_range.h mapped_range.h
--
-- split u-range
--
~~ filter_range.h (not edited)
u-range for gcc,  clang - ICE
u-all
merge index.txt from clang-ice

cl scc  'vt9 * get<0>'

0  libLLVM-3.2svn.so 0x00007f78e547bdff
1  libLLVM-3.2svn.so 0x00007f78e547c359
2  libpthread.so.0   0x00007f78e4c48410
3  clang             0x00000000006e9773 clang::CodeGen::CodeGenModule::GetOrCreateLLVMFunction(llvm::StringRef, llvm::Type*, clang::GlobalDecl, bool, llvm::Attributes) + 627
4  clang             0x00000000006e99b5 clang::CodeGen::CodeGenModule::GetAddrOfFunction(clang::GlobalDecl, llvm::Type*, bool) + 101
5  clang             0x000000000075238e
6  clang             0x000000000075b99f clang::CodeGen::CodeGenFunction::EmitDeclRefLValue(clang::DeclRefExpr const*) + 415
7  clang             0x000000000075c4c8 clang::CodeGen::CodeGenFunction::EmitLValue(clang::Expr const*) + 552
8  clang             0x0000000000760909 clang::CodeGen::CodeGenFunction::EmitCheckedLValue(clang::Expr const*, clang::CodeGen::CodeGenFunction::TypeCheckKind) + 41
9  clang             0x0000000000787440
10 clang             0x000000000078eed2
11 clang             0x000000000078d37f
12 clang             0x000000000079124b
13 clang             0x000000000078dbc9
14 clang             0x0000000000791a5c
15 clang             0x000000000078dacf
16 clang             0x0000000000792bfd clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool) + 61
17 clang             0x00000000007509c7 clang::CodeGen::CodeGenFunction::EmitAnyExpr(clang::Expr const*, clang::CodeGen::AggValueSlot, bool) + 423
18 clang             0x000000000075cbcf
19 clang             0x000000000075d52b clang::CodeGen::CodeGenFunction::EmitReferenceBindingToExpr(clang::Expr const*, clang::NamedDecl const*) + 91
20 clang             0x000000000073de2e clang::CodeGen::CodeGenFunction::EmitExprAsInit(clang::Expr const*, clang::ValueDecl const*, clang::CodeGen::LValue, bool) + 302
21 clang             0x00000000007255ff clang::CodeGen::CodeGenFunction::EmitInitializerForField(clang::FieldDecl*, clang::CodeGen::LValue, clang::Expr*, llvm::ArrayRef<clang::VarDecl*>) + 879
22 clang             0x00000000007260d7 clang::CodeGen::CodeGenFunction::EmitCtorPrologue(clang::CXXConstructorDecl const*, clang::CXXCtorType, clang::CodeGen::FunctionArgList&) + 1991
23 clang             0x00000000007278cc clang::CodeGen::CodeGenFunction::EmitConstructorBody(clang::CodeGen::FunctionArgList&) + 124
24 clang             0x00000000007fa20b clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&) + 955
25 clang             0x000000000070bc11 clang::CodeGen::CodeGenModule::EmitCXXConstructor(clang::CXXConstructorDecl const*, clang::CXXCtorType) + 177
26 clang             0x00000000006ead41 clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl) + 433
27 clang             0x00000000006ec53e clang::CodeGen::CodeGenModule::EmitDeferred() + 142
28 clang             0x00000000006ec5a9 clang::CodeGen::CodeGenModule::Release() + 9
29 clang             0x00000000006d10a5
30 clang             0x00000000008184fe clang::ParseAST(clang::Sema&, bool, bool) + 334
31 clang             0x00000000006d00b3 clang::CodeGenAction::ExecuteAction() + 51
32 clang             0x0000000000598a41 clang::FrontendAction::Execute() + 97
33 clang             0x0000000000579fef clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 271
34 clang             0x0000000000560788 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1560
35 clang             0x0000000000556b92 cc1_main(char const**, char const**, char const*, void*) + 6706
36 clang             0x000000000055f4ab main + 5915
37 libc.so.6         0x00007f78e43904bd __libc_start_main + 253
38 clang             0x0000000000554fb9
Stack dump:
0.	Program arguments: /usr/bin/clang -cc1 -triple x86_64-pc-linux-gnu -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -main-file-name main.cc -mrelocation-model static -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -target-linker-version 2.22 -momit-leaf-frame-pointer -g -resource-dir /usr/bin/../lib/clang/3.2 -include /home/lvv/p/scc/.scc.h -D __STRICT_ANSI__ -D _GLIBCXX_DEBUG -D DEBUG -D _GLIBCXX_DEBUG -I /home/lvv/p/ -I /home/lvv/p/ -I /home/lvv/p/scc -I /home/lvv/p -I /tmp/scc-lvv-pts1 -fmodule-cache-path /var/tmp/clang-module-cache -I /usr/local/include -internal-isystem /usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.0-pre9999/include/g++-v4 -internal-isystem /usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.0-pre9999/include/g++-v4/x86_64-pc-linux-gnu -internal-isystem /usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.0-pre9999/include/g++-v4/backward -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/clang/3.2/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O0 -Wall -Wall -Wno-sign-compare -Wno-unused-function -std=gnu++11 -fdeprecated-macro -fdebug-compilation-dir /home/lvv/p/scc -ferror-limit 19 -fmessage-length 127 -ftrapv -stack-protector 1 -mstackrealign -fno-inline -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/main-HLn7pi.o -x c++ /home/lvv/p/scc/main.cc
1.	<eof> parser at end of file
2.	Per-file LLVM IR generation
3.	/home/lvv/p/scc/mapped_range.h:52:2: Generating code for declaration 'sto::mapped_range_iterator<std::__debug::vector<std::tuple<int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::tuple<int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > &, const int &(*)(const std::tuple<int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > &), int, true>::mapped_range_iterator'
clang: error: unable to execute command: Segmentation fault
clang: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 3.2 (trunk)
Target: x86_64-pc-linux-gnu
Thread model: posix
clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
clang: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/main-1gnhdV.cpp
clang: note: diagnostic msg: /tmp/main-1gnhdV.sh
clang: note: diagnostic msg:

********************
Merge branch 'cr_derive'
rename filter -> predicated