Click here to Skip to main content
15,897,704 members
Articles / Programming Languages / C#

A Fast/Compact Serialization Framework

Rate me:
Please Sign up or sign in to vote.
4.85/5 (37 votes)
13 Oct 2010GPL35 min read 284.7K   1.2K   175  
A framework for object serializiation/deserialization that is many times faster and yields a compact output.
body /* This body tag requires the use of one of the sets of banner and/or text div ids */
	{
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	background: #ffffff; 
	color: #000000;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 70%;
	width: 100%;
	/*overflow: expression('hidden');*/
	}
div#scrollyes /* Allows topic to scroll with correct margins. Cannot be used with running head banner */
	{     /* Must immediately follow <body>. */
	padding: 2px 15px 2px 22px;
	width: 100%;
	}
div#nsbanner /* Creates Nonscrolling banner region */
	{
	position: relative;
	left: 0px;
	padding: 0px 0px 0px 0px;
	border-bottom: 1px solid #999999;
	/*width: expression(document.body.clientWidth);*/
	background-color: #99ccff;
	}
div#nstext /* Creates the scrolling text area for Nonscrolling region topic */
	{
	top: 0px;
	padding: 5px 20px 0px 22px;
	/*overflow: expression('auto');
	width: expression(document.body.clientWidth);
	height: expression(document.body.clientHeight - nsbanner.offsetHeight);*/
	}
div#scrbanner /* Creates the running head bar in a full-scroll topic */
	{     /* Allows topic to scroll. */
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	border-bottom: 1px solid #999999;
	}
div#scrtext /* Creates the text area in a full-scroll topic */
	{   /* Allows topic to scroll. */
	padding: 0px 10px 0px 22px; 
	}
div#bannerrow1 /* provides full-width color to top row in running head (requires script) */
	{
	}
div#titlerow /* provides non-scroll topic title area (requires script) */
	{
	padding: 0px 10px 0px 22px; 
	}

h1, h2, h3, h4
	{
	font-family: Verdana, Arial, Helvetica, sans-serif;
	margin-bottom: .4em; 
	margin-top: 1em;
	font-weight: bold;
	}
h1
	{
	font-size: 120%;
	margin-top: 0em;
	}
div#scrollyes h1 /* Changes font size for full-scrolling topic */
	{
	font-size: 150%;
	}
h2
	{
	font-size: 130%;
	}
h3
	{
	font-size: 115%;
	}
h4
	{
	font-size: 100%;
	}
.dtH1, .dtH2, .dtH3, .dtH4
	{
	margin-left: -18px;
	}
div#titlerow h1
	{
	margin-bottom: .2em
	}

table.bannerparthead, table.bannertitle /* General values for the Running Head tables */
	{
	position: relative;
	left: 0px;
	top: 0px;
	padding: 0px 0px 0px 0px;
	margin: 0px 0px 0px 0px;
	width: 100%;
	height: 21px; 
	border-collapse: collapse;
	border-style: solid;
	border-width: 0px;
	background-color: #99ccff; 
	font-size: 100%;
	}
table.bannerparthead td /* General Values for cells in the top row of running head */
	{
	margin: 0px 0px 0px 0px;
	padding: 2px 0px 0px 4px;
	vertical-align: middle;
	border-width: 0px;
	border-style: solid;
	border-color: #999999;
	background: transparent; 
	font-style: italic;
	font-weight: normal;
	}
table.bannerparthead td.product /* Values for top right cell in running head */
	{                       /* Allows for a second text block in the running head */
	text-align: right;
	padding: 2px 5px 0px 5px;
	}
table.bannertitle td /* General Values for cells in the bottom row of running head */
	{
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 3px;
	vertical-align: middle;
	border-width: 0px 0px 1px 0px;
	border-style: solid;
	border-color: #999999;
	background: transparent;
	font-weight: bold;
	}
td.button1 /* Values for button cells */
	{
	width: 14px;
	cursor: hand;
	}

p
	{
	margin: .5em 0em .5em 0em;
	}
blockquote.dtBlock
	{
	margin: .5em 1.5em .5em 1.5em;
	}
div#dtHoverText
	{
	color: #000066;
	}
.normal
	{
	margin: .5em 0em .5em 0em;
	}
.fineprint
	{
	font-size: 90%; /* 90% of 70% */
	}
.indent
	{
	margin: .5em 1.5em .5em 1.5em;
	}
.topicstatus /* Topic Status Boilerplate class */
	{
	display: block;
	color: red;
	}
p.label
	{
	margin-top: 1em;
	}
p.labelproc
	{
	margin-top: 1em;
	color: #000066;
	}

div.tablediv
	{
	width: 100%; /* Forces tables to have correct right margins and top spacing */
	margin-top: -.4em;
	}
ol div.tablediv, ul div.tablediv, ol div.HxLinkTable, ul div.HxLinkTable
	{
	margin-top: 0em; /* Forces tables to have correct right margins and top spacing */
	}
table.dtTABLE
	{
	width: 100%; /* Forces tables to have correct right margin */
	margin-top: .6em;
	margin-bottom: .3em;
	border-width: 1px 1px 0px 0px;
	border-style: solid;
	border-color: #999999;
	background-color: #999999; 
	font-size: 100%; /* Text in Table is same size as text outside table */
	}
table.dtTABLE th, table.dtTABLE td
	{ 
	border-style: solid; /* Creates the cell border and color */
	border-width: 0px 0px 1px 1px;
	border-style: solid;
	border-color: #999999;
	padding: 4px 6px;
	text-align: left;
	}
table.dtTABLE th	
	{ 
	background: #cccccc; /* Creates the shaded table header row */
	vertical-align: bottom;
	}
table.dtTABLE td	
	{
	background: #ffffff;
	vertical-align: top;
	}

MSHelp\:ktable
	{
	disambiguator: span;
	separator: &nbsp|&#32;
	prefix: |&#32;
	postfix: &nbsp;
	filterString: ;
	}
div.HxLinkTable
	{
	width: auto; /* Forces tables to have correct right margins and top spacing */
	margin-top: -.4em;
	visibility: visible;
	}
ol div.HxLinkTable, ul div.HxLinkTable
	{
	margin-top: 0em; /* Forces tables to have correct right margins and top spacing */
	}
table.HxLinkTable /* Keep in sync with general table settings below */
	{
	width: auto;
	margin-top: 1.5em;
	margin-bottom: .3em;
	margin-left: -1em;
	border-width: 1px 1px 0px 0px;
	border-style: solid;
	border-color: #999999;
	background-color: #999999; 
	font-size: 100%; /* Text in Table is same size as text outside table */
	behavior:url(hxlinktable.htc); /* Attach the behavior to link elements. */
	}
table.HxLinkTable th, table.HxLinkTable td /* Keep in sync with general table settings below */
	{ 
	border-style: solid; /* Creates the cell border and color */
	border-width: 0px 0px 1px 1px;
	border-style: solid;
	border-color: #999999;
	padding: 4px 6px;
	text-align: left;
	}
table.HxLinkTable th /* Keep in sync with general table settings below */
	{ 
	background: #cccccc; /* Creates the shaded table header row */
	vertical-align: bottom;
	}
table.HxLinkTable td /* Keep in sync with general table settings below */
	{
	background: #ffffff;
	vertical-align: top;
	}
pre.code
	{
	background-color: #eeeeee;
	padding: 4px 6px 4px 6px;
	}
pre, div.syntax
	{
	margin-top: .5em;
	margin-bottom: .5em; 
	}
pre, code, .code, div.syntax
	{
	font: 100% Monospace, Courier New, Courier; /* This is 100% of 70% */
	color: #000066;
	}
pre b, code b
	{
	letter-spacing: .1em; /* opens kerning on bold in Syntax/Code */
	}
pre.syntax, div.syntax
	{
	background: #cccccc;
	padding: 4px 8px;
	cursor: text;
	margin-top: 1em;
	margin-bottom: 1em; 
	color: #000000;
	border-width: 1px;
	border-style: solid;
	border-color: #999999;
/* ------------------------------------- */
/* BEGIN changes to dtue.css conventions */
	font-weight: bolder;
	letter-spacing: .1em;
	}
.syntax span.lang
	{
	margin: 0;
	font-weight: normal;
	}
.syntax span.meta
	{
	margin: 0;
	font-weight: normal;
	font-style: italic;
	}
.syntax a
	{
	margin: 0;
	font-weight: normal;
	}
/* END changes to dtue.css conventions */
/* ----------------------------------- */

.syntax div
	{
	padding-left: 24px;
	text-indent: -24px;
	}

.syntax .attribute
	{
		font-weight: normal;
	}
div.footer
	{
	font-style: italic;
	}
div.footer hr
	{
	color: #999999;
	height: 1px;
	}

ol, ul
	{
	margin: .5em 0em 0em 4em; 
	}
li
	{
	margin-bottom: .5em;
	}
ul p, ol p, dl p
	{
	margin-left: 0em;
	}
ul p.label, ol p.label
	{
	margin-top: .5em;
	}

dl
	{
	margin-top: 0em; 
	padding-left: 1px; /* Prevents italic-letter descenders from being cut off */
	}
dd
	{
	margin-bottom: 0em;  
	margin-left: 1.5em; 
	}
dt
	{
	margin-top: .5em; 
	}

a:link
	{
	color: #0000ff;
	}
a:visited
	{
	color: #0000ff;
	}
a:hover
	{
	color: #3366ff;
	}

img
	{
	border: none;
	}
table.dtTABLE td img
	{
	border: none;
	vertical-align: top;
	margin-right: 2px;
	}
/* Not in dtue.css. Used by NDoc's "ShowMissing..." options. */
.missing
	{
	color: Red;
	font-weight: bold;
	}
div.Hierarchy
{
	margin: 0.5em,0.0em,0.5em,1.0em;
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The GNU General Public License (GPLv3)


Written By
Architect
Pakistan Pakistan
Let a = b ....... (1)
a - b = a - b
a^2 - ab = a^2 - ab
a^2 - ab = a^2 - b^2 (from 1)
a (a - b) = (a + b) (a - b)
a = (a + b) ...... (2)

if a = 1
1 = (1 + 1) (from 1 & 2)
1 = 2 !!

Comments and Discussions