blob: 4a346c8b7c74d6009c6b45f5efada41ee01949ea [file] [log] [blame]
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -07001//! Library to read and write protocol buffers data.
2
3#![deny(missing_docs)]
Haibo Huangd32e6ee2020-08-12 13:52:04 -07004#![deny(broken_intra_doc_links)]
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -07005// Because we need compat with Rust 1.26
6#![allow(bare_trait_objects)]
7
8#[cfg(feature = "bytes")]
9extern crate bytes;
10#[cfg(feature = "with-serde")]
11extern crate serde;
12#[macro_use]
13#[cfg(feature = "with-serde")]
14extern crate serde_derive;
Haibo Huangd32e6ee2020-08-12 13:52:04 -070015pub use crate::cached_size::CachedSize;
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -070016#[cfg(feature = "bytes")]
Haibo Huangd32e6ee2020-08-12 13:52:04 -070017pub use crate::chars::Chars;
18pub use crate::clear::Clear;
19pub use crate::enums::ProtobufEnum;
20pub use crate::error::ProtobufError;
21pub use crate::error::ProtobufResult;
22pub use crate::message::parse_from_bytes;
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -070023#[cfg(feature = "bytes")]
Haibo Huangd32e6ee2020-08-12 13:52:04 -070024pub use crate::message::parse_from_carllerche_bytes;
25pub use crate::message::parse_from_reader;
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -070026#[allow(deprecated)]
Haibo Huangd32e6ee2020-08-12 13:52:04 -070027pub use crate::message::parse_length_delimited_from;
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -070028#[allow(deprecated)]
Haibo Huangd32e6ee2020-08-12 13:52:04 -070029pub use crate::message::parse_length_delimited_from_bytes;
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -070030#[allow(deprecated)]
Haibo Huangd32e6ee2020-08-12 13:52:04 -070031pub use crate::message::parse_length_delimited_from_reader;
32pub use crate::message::Message;
33pub use crate::repeated::RepeatedField;
34pub use crate::singular::SingularField;
35pub use crate::singular::SingularPtrField;
36pub use crate::stream::wire_format;
37pub use crate::stream::CodedInputStream;
38pub use crate::stream::CodedOutputStream;
39pub use crate::unknown::UnknownFields;
40pub use crate::unknown::UnknownFieldsIter;
41pub use crate::unknown::UnknownValue;
42pub use crate::unknown::UnknownValueRef;
43pub use crate::unknown::UnknownValues;
44pub use crate::unknown::UnknownValuesIter;
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -070045
46// generated
47pub mod descriptor;
48pub mod plugin;
49pub mod rustproto;
50
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -070051mod clear;
52pub mod compiler_plugin;
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -070053mod enums;
54pub mod error;
55pub mod ext;
Haibo Huangd32e6ee2020-08-12 13:52:04 -070056pub mod json;
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -070057pub mod lazy;
Haibo Huang52aa7852020-07-10 20:23:55 -070058mod lazy_v2;
Haibo Huangd32e6ee2020-08-12 13:52:04 -070059mod message;
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -070060pub mod reflect;
61mod repeated;
62pub mod rt;
63mod singular;
64pub mod stream;
65pub mod text_format;
66pub mod types;
67pub mod well_known_types;
Haibo Huang52aa7852020-07-10 20:23:55 -070068mod well_known_types_util;
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -070069
70// used by test
71#[cfg(test)]
72#[path = "../../protobuf-test-common/src/hex.rs"]
73mod hex;
74
75// used by rust-grpc
76pub mod descriptorx;
77
78mod cached_size;
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -070079mod chars;
80#[doc(hidden)] // used by codegen
81pub mod rust;
82mod strx;
83mod unknown;
84mod varint;
85mod zigzag;
86
87mod misc;
88
89mod buf_read_iter;
90
Chih-Hung Hsiehcfc3a232020-06-10 20:13:05 -070091/// This symbol is in generated `version.rs`, include here for IDE
92#[cfg(never)]
93pub const VERSION: &str = "";
94/// This symbol is in generated `version.rs`, include here for IDE
95#[cfg(never)]
96#[doc(hidden)]
97pub const VERSION_IDENT: &str = "";
Haibo Huangd32e6ee2020-08-12 13:52:04 -070098include!("../out/version.rs"); // ANDROID