static void Main(string[] args)
        {
            // Construct the default namespace poset.

            namespace_poset lns = new namespace_poset("default_namespace_poset");

            // Write the namespace out to the console.

            System.Console.Write(lns.to_string());

            // Write the namespace out to a file.

            lns.get_read_write_access();

            storage_agent sa = new storage_agent("default_namespace_poset.t.hdf", sheaf_file.access_mode.READ_WRITE);

            sa.put_member_record_buffer_ub(15);
            sa.put_dof_tuple_record_size(128);
            sa.put_dof_tuple_record_buffer_ub(8);
            sa.write_entire(lns);
        }
        static void Main(string[] args)
        {
            // Read the filename.

            String filename;

            if (args.Length > 0)
            {
                filename = args[0];
            }
            else
            {
                System.Console.Write("usage: sheaves_read sheaf_file [enable_error_report]");
                return;
            }

            bool lenable_error_report = (args.Length > 1);

            /// @hack prototype instantiation bug.

            namespace_poset.initialize_prototypes();

            // Make the default namespace

            namespace_poset ns = new namespace_poset("test");

            // Read the namespace from the file;
            // need write access in order to read it.

            ns.get_read_write_access();
            storage_agent sa = new storage_agent(filename, sheaf_file.access_mode.READ_ONLY, false, lenable_error_report);

            sa.put_member_record_buffer_ub(15);

            sa.read_entire(ns);

            // Output a text version to stdout

            System.Console.Write(ns.to_string());
        }