Made a bunch more classes non-copyable

This commit is contained in:
Jesse Jones 2012-12-08 22:06:46 -08:00 committed by Brian Anderson
parent eca23da98b
commit e8d2d55900
8 changed files with 41 additions and 0 deletions

View File

@ -35,6 +35,11 @@ private:
return v;
}
private:
// private and undefined to disable copying
boxed_region(const boxed_region& rhs);
boxed_region& operator=(const boxed_region& rhs);
public:
boxed_region(rust_env *e, memory_region *br)
: env(e)

View File

@ -35,6 +35,11 @@ public:
bool is_empty();
size_t size();
private:
// private and undefined to disable copying
circular_buffer(const circular_buffer& rhs);
circular_buffer& operator=(const circular_buffer& rhs);
private:
size_t initial_size();
void grow();

View File

@ -69,6 +69,11 @@ private:
void release_alloc(void *mem);
void claim_alloc(void *mem);
private:
// private and undefined to disable copying
memory_region(const memory_region& rhs);
memory_region& operator=(const memory_region& rhs);
public:
memory_region(rust_env *env, bool synchronized);
memory_region(memory_region *parent);

View File

@ -23,6 +23,11 @@ public:
private:
rust_sched_loop sched_loop;
private:
// private and undefined to disable copying
rust_sched_launcher(const rust_sched_launcher& rhs);
rust_sched_launcher& operator=(const rust_sched_launcher& rhs);
protected:
rust_sched_driver driver;

View File

@ -82,6 +82,11 @@ private:
void pump_loop();
private:
// private and undefined to disable copying
rust_sched_loop(const rust_sched_loop& rhs);
rust_sched_loop& operator=(const rust_sched_loop& rhs);
public:
rust_kernel *kernel;
rust_scheduler *sched;

View File

@ -58,6 +58,11 @@ private:
// Called when refcount reaches zero
void delete_this();
private:
// private and undefined to disable copying
rust_scheduler(const rust_scheduler& rhs);
rust_scheduler& operator=(const rust_scheduler& rhs);
public:
rust_scheduler(rust_kernel *kernel, size_t max_num_threads,
rust_sched_id id, bool allow_exit, bool killed,

View File

@ -16,6 +16,12 @@ class rust_signal {
public:
virtual void signal() = 0;
virtual ~rust_signal() {}
rust_signal() {}
private:
// private and undefined to disable copying
rust_signal(const rust_signal& rhs);
rust_signal& operator=(const rust_signal& rhs);
};
#endif /* RUST_SIGNAL_H */

View File

@ -305,6 +305,11 @@ private:
void wakeup_inner(rust_cond *from);
bool blocked_on(rust_cond *cond);
private:
// private and undefined to disable copying
rust_task(const rust_task& rhs);
rust_task& operator=(const rust_task& rhs);
public:
// Only a pointer to 'name' is kept, so it must live as long as this task.