1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
// This file is part of context-coroutine. It is subject to the license terms in the COPYRIGHT file found in the top-level directory of this distribution and at https://raw.githubusercontent.com/lemonrock/context-coroutine/master/COPYRIGHT. No part of context-coroutine, including this file, may be copied, modified, propagated, or distributed except according to the terms contained in the COPYRIGHT file.
// Copyright © 2019 The developers of context-coroutine. See the COPYRIGHT file in the top-level directory of this distribution and at https://raw.githubusercontent.com/lemonrock/context-coroutine/master/COPYRIGHT.


#![allow(non_snake_case)]
#![allow(non_upper_case_globals)]
#![allow(non_camel_case_types)]
#![deny(missing_docs)]
#![deny(unreachable_patterns)]


//! #context-coroutine
//! 
//! This is a simple set of extensions to the [context](https://github.com/zonyitoo/context-rs) crate to provide stackful coroutines.
//!
//! The intended use case is mostly for read and write (input and output, I/O) with socket file descriptors.
//!
//! The developers are not associated with the authors of [context](https://github.com/zonyitoo/context-rs) but are extremely grateful for the work they've put into to a superb piece of code.


extern crate context;


use ::context::context::*;
use ::context::stack::*;
use ::std::fmt;
use ::std::fmt::Debug;
use ::std::fmt::Formatter;
use ::std::marker::PhantomData;
use ::std::ops::Deref;
use ::std::panic::*;
use ::std::ptr::NonNull;
use ::std::ptr::read;
use ::std::thread;


include!("ChildOutcome.rs");
include!("Coroutine.rs");
include!("ParentInstructingChild.rs");
include!("ResumeOnTopFunction.rs");
include!("ResumeOutcome.rs");
include!("SimpleStack.rs");
include!("StackAndTypeSafeTransfer.rs");
include!("StartedStackAndTypeSafeTransfer.rs");
include!("StartOutcome.rs");
include!("TransferableData.rs");
include!("TransferExt.rs");
include!("TypeSafeTransfer.rs");
include!("Yielder.rs");