From 8286ac511144e4f17d34eac9affb97e50646344a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Wed, 23 Jul 2014 15:25:44 +0200 Subject: Imported Upstream version 4.0.0 --- libcult/examples/mm/transfer/makefile | 48 ------------ libcult/examples/mm/transfer/transfer.cxx | 117 ------------------------------ 2 files changed, 165 deletions(-) delete mode 100644 libcult/examples/mm/transfer/makefile delete mode 100644 libcult/examples/mm/transfer/transfer.cxx (limited to 'libcult/examples/mm/transfer') diff --git a/libcult/examples/mm/transfer/makefile b/libcult/examples/mm/transfer/makefile deleted file mode 100644 index 3380f10..0000000 --- a/libcult/examples/mm/transfer/makefile +++ /dev/null @@ -1,48 +0,0 @@ -# file : examples/mm/transfer/makefile -# author : Boris Kolpackov -# copyright : Copyright (c) 2005-2010 Boris Kolpackov -# license : GNU GPL v2; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -cxx_tun := transfer.cxx -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -cult.l := $(out_root)/cult/cult.l -cult.l.cpp-options := $(out_root)/cult/cult.l.cpp-options - -transfer := $(out_base)/transfer -clean := $(out_base)/.clean - - -# Build. -# -$(transfer): $(cxx_obj) $(cult.l) - -$(cxx_obj) $(cxx_od): $(cult.l.cpp-options) - -$(call include-dep,$(cxx_od)) - - -# Convenience alias for default target. -# -$(out_base)/: $(transfer) - - -# Clean. -# -$(clean): $(transfer).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) - - -# How to. -# -$(call include,$(bld_root)/cxx/o-e.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/cxx-d.make) - -# Dependencies. -# -$(call import,$(src_root)/cult/makefile) diff --git a/libcult/examples/mm/transfer/transfer.cxx b/libcult/examples/mm/transfer/transfer.cxx deleted file mode 100644 index 81014d0..0000000 --- a/libcult/examples/mm/transfer/transfer.cxx +++ /dev/null @@ -1,117 +0,0 @@ -// file : examples/mm/transfer/transfer.cxx -// author : Boris Kolpackov -// copyright : Copyright (c) 2005-2010 Boris Kolpackov -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include - -#include - -using std::cerr; -using std::endl; - -using namespace Cult; - -unsigned long count = 0; -unsigned long clone_count = 0; - -struct Type -{ - Type () - { - ++count; - } - - ~Type () - { - --count; - } - - Evptr - clone () const - { - ++clone_count; - return Evptr (new Type); - } - - Void - f () const - { - Int i = i_; - ++i; - } - - Int i_; -}; - - -Evptr -source () -{ - return Evptr (new Type); -} - -Void -sink (Evptr a, Boolean r = true) -{ - if (r) - { - sink (a, false); - } - else - { - Evptr b (a); - - cerr << "\tshare count: " << b.count () << endl; - - // Any of these will trigger cloning. - // - b->f (); - } -} - -Int -main () -{ - // case 1 - // - { - cerr << "sink (new type)" << endl; - - clone_count = 0; - sink (new Type); - - cerr << "\tclone count: " << clone_count << endl - << endl; - } - - // case 2 - // - { - cerr << "sink (source ())" << endl; - - clone_count = 0; - sink (source ()); - - cerr << "\tclone count: " << clone_count << endl - << endl; - } - - - // case 3 - // - { - cerr << "sink (p)" << endl; - - clone_count = 0; - - Evptr p (new Type); - sink (p); - - cerr << "\tclone count: " << clone_count << endl - << endl; - } - - - cerr << "balance: " << count << endl; -} -- cgit v1.2.3